string库之模拟实现strlen与memset
来源:互联网 发布:云数据库语言 编辑:程序博客网 时间:2024/05/22 03:25
原型:
C库string.h中的strlen函数
描述:
C 库函数 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。
参数:
str:要计算长度的字符串。
返回值:
该函数返回字符串的长度。
模拟实现strlen:
第一种:采用计数器
size_t my_strlen(const char *str){size_t count = 0;assert(NULL != str);while (*str++)++count;return len;}
size_t my_strlen(const char *str){const char *start = str;assert(str);while (*str++);return (str-1-start);}
第三种:利用递归实现
size_t my_strlen(const char *str){assert(str);if (*str)return (1+my_strlen(str+1));return 0;}
原型:
C库string.h中的memset函数
描述:
C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符
参数:
str:指向要填充的内存块。
c:要被设置的值,该值以int形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
n:要被设置为该值的字节数。
返回值:
该值返回一个指向存储区 str 的指针。
模拟实现memset:
void *my_memset(void *str, int c, size_t n){char *pstr = (char *)str;assert(str);while (n--)*pstr++ = (char)c;return str;}
1 0
- string库之模拟实现strlen与memset
- string库之模拟实现strcpy与strncpy
- string库之模拟实现memcpy与memmove
- string库之模拟实现strchr、strrchr与memchr
- string库之模拟实现strcat与strncat
- string库之模拟实现strspn、strcspn与strpbrk
- C语言 模拟实现strcpy 与 strlen
- Strlen与Strcpy的模拟实现
- 模拟实现strlen与strcpy函数
- 模拟实现memset()
- void*与void;strlen与sizeof;memset
- 关于模拟实现strlen
- 模拟实现strlen
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen
- ##模拟实现strlen函数
- 模拟实现strlen函数
- 【C++】:C++泛型基础
- 【Leetcode】142. Linked List Cycle II
- git
- No ViewHolder!!! 一个非官方的纯java版 databinding(拒绝xml配置).
- Unity3D说明文档翻译-Scene View Navigation
- string库之模拟实现strlen与memset
- Android UI-SlidingMenu侧滑菜单效果
- 【C++】:拷贝构造函数
- 外观模式
- 【J2EE】JDBC+JSP+Servlet
- Codeforces Round #404 (Div. 2) -- E. Anton and Permutation(分块xjb 搞)
- Codeforces Round #404 (Div. 2) 题解
- Java核心技术:卷一——前言
- windows 下编译ffmpeg