字符函数
字符串函数
strlen
- char* strcat (char* destination, const char* source);
- 将源字符串追加到目的字符串后,源字符串必须以'\0'结束,目的字符串必须有足够大的空间并可以修改,追加失败返回detination
- int strcmp (const char* str1, const char* str2);
- 从第一个字符开始比较每一个字符,直到出现不一样的字符或'\0',str1大于str2返回大于0的数,等于返回0,小于返回小于0的数
- char* strncpy (char* destination, const char* sourse, size_t num);
- 拷贝num个字符从源字符串到目标空间,如果源字符串长度小于num,则拷贝完成后在后面追加0,拷贝失败返回detination
- char* strncat (char* destination, const char* sourse, size_t num);
- 将num个源字符串的字符追加到目的字符串后,目的字符串必须有足够大的空间,如果num大于源字符串的长度,则只复制到'\0',追加失败返回detination
- int strncmp (const char* str1, const char* str2, size_t num);
- 从第一个字符开始比较每一个字符,直到出现不一样的字符或'\0'或num个字符,str1大于str2返回大于0的数,等于返回0,小于返回小于0的数
- char* strpbrk (const char* str1, const char* str2);
- 在字符串str1中寻找字符串str2中任何一个字符匹配,不包括'\0',找到返回第一个字符的地址,没找到返回NULL
- char* strstr (const char* str1, const char* str2);
- 查找str2在str1第一次出现,找到返回第一次匹配点的地址,没找到返回NULL
- strspn
- size_t strspn (const char* str1, const char* str2);
- 返回str1中第一个不在str2出现的字符下标
- char* strtok (char* str, const char* delimiters);
- str中包含0个或多个由delimiters中的字符,以这些字符为标记,通过strtok函数找到str中的下一个标记,将其用'\0'结尾,返回指向这个标记的指针;若第一个参数不为NULL,函数将找到str中第一个标记,strtok保存它在字符串中的位置;当第一个参数为NULL时,函数将在同一个字符串中被保存的位置开始查找下一个标记;字符串不存在更多的标记,则返回NULL
- void* memcpy (void* destination, const void* sourse, size_t num);
- 从sourse内存地址起始位置开始拷贝大小为num的内存块到目标destination所指的内存地址的起始位置中并返回destination,遇到'\0'不会停下来;如果sourse和destination所指内存区域有重叠,则重叠区域结果未定义
- void* memmove (void* destination, const void* sourse, size_t num);
- memove与memcpy功能相同都是内存块的拷贝,不同的是memmove可以处理destination与sourse内存的重叠
- int memcmp (const void* ptr1, const void* ptr2, size_t num);
- 比较ptr1和ptr2开始的num个字节,ptr1大于ptr2返回大于0的数,等于返回0,小于返回小于0的数
- void* memchr (const void* ptr, int value, size_t num);
- 在ptr所指内存区域的前num个字节查找第一次出现的字符value,找到返回字符的地址,没找到返回NULL
模拟strlen、strcpy、strcat、strcmp、strncpy、strncat、strncmp、strchr、strstr、memcpy、memmove的实现