admin 管理员组

文章数量: 1184232


2024年3月30日发(作者:outlook的pst文件修复)

关于char 字符操作的常用库函数

1)、void *memset(void *dest, int c, size_t count);

将dest前面count个字符置为字符c.

返回dest的值.

2)、void *memmove(void *dest, const void *src, size_t count);

从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动

处理.

返回dest的值.

3)、void *memcpy(void *dest, const void *src, size_t count);

从src复制count字节的字符到dest. 与memmove功能一样, 只是不能处理src

和dest出现重叠.

返回dest的值.

4)、void *memchr(const void *buf, int c, size_t count);

在buf前面count字节中查找首次出现字符c的位置. 找到了字符c或者已经搜

寻了count个字节, 查找即停止.

操作成功则返回buf中首次出现c的位置指针, 否则返回NULL.

5)、void *_memccpy(void *dest, const void *src, int c, size_t count);

从src复制0个或多个字节的字符到dest. 当字符c被复制或者count个字符

被复制时, 复制停止.

如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针. 否则返

回NULL.

6)、int memcmp(const void *buf1, const void *buf2, size_t count);

比较buf1和buf2前面count个字节大小.

返回值< 0, 表示buf1小于buf2;

返回值为0, 表示buf1等于buf2;

返回值> 0, 表示buf1大于buf2.

7)、int memicmp(const void *buf1, const void *buf2, size_t count);

比较buf1和buf2前面count个字节. 与memcmp不同的是, 它不区分大小写.

返回值同上.

8)、size_t strlen(const char *string);

获取字符串长度, 字符串结束符NULL不计算在内.

没有返回值指示操作错误.

9)、char *strrev(char *string);

将字符串string中的字符顺序颠倒过来. NULL结束符位置不变.

返回调整后的字符串的指针.

10)、char *_strupr(char *string);

将string中所有小写字母替换成相应的大写字母, 其它字符保持不变.

返回调整后的字符串的指针.

11)、char *_strlwr(char *string);

将string中所有大写字母替换成相应的小写字母, 其它字符保持不变.

返回调整后的字符串的指针.

12)、char *strchr(const char *string, int c);

查找字符c在字符串string中首次出现的位置, NULL结束符也包含在查找中.

返回一个指针, 指向字符c在字符串string中首次出现的位置, 如果没有找到,

则返回NULL.

13)、char *strrchr(const char *string, int c);

查找字符c在字符串string中最后一次出现的位置, 也就是对string进行反序

搜索, 包含NULL结束符.

返回一个指针, 指向字符c在字符串string中最后一次出现的位置, 如果没有

找到, 则返回NULL.

14)、char *strstr(const char *string, const char *strSearch);

在字符串string中查找strSearch子串.

返回子串strSearch在string中首次出现位置的指针. 如果没有找到子串

strSearch, 则返回NULL. 如果子串strSearch为空串, 函数返回string值.

15)、char *strdup(const char *strSource);

函数运行中会自己调用malloc函数为复制strSource字符串分配存储空间, 然

后再将strSource复制到分配到的空间中. 注意要及时释放这个分配的空间.

返回一个指针, 指向为复制字符串分配的空间; 如果分配空间失败, 则返回

NULL值.

16)、char *strcat(char *strDestination, const char *strSource);

将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加

上NULL结束符. 源串strSource的字符会覆盖目标串strDestination后面的结

束符NULL. 在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空

间足够大. 不能处理源串与目标串重叠的情况.

函数返回strDestination值.

17)、char *strncat(char *strDestination, const char *strSource, size_t

count);

将源串strSource开始的count个字符添加到目标串strDest后. 源串

strSource的字符会覆盖目标串strDestination后面的结束符NULL. 如果

count大于源串长度, 则会用源串的长度值替换count值. 得到的新串后面会自

动加上NULL结束符. 与strcat函数一样, 本函数不能处理源串与目标串重叠的

情况.

函数返回strDestination值.


本文标签: 字符 字符串 复制 目标