c 语言字符串函数详解
void
*memset(void
*dest,
int
c,
size_t
count);
将
dest
前
面
count
个
字
符
置
为
字
符
c.
返
回
dest
的
值
.
void *memmove(void *dest, const void *src, size_t count);
从 src 复制 count 字节的字符到 dest. 如果 src 和 dest 出现重叠 , 函数会自动处理 .
返
回
dest
的
值
.
void *memcpy(void *dest, const void *src, size_t count);
从 src 复制 count 字节的字符到 dest. 与 memmove 功能一样, 只是不能处理 src 和 dest 出
现
重
叠
.
返
回
dest
的
值
.
void *memchr(const void *buf, int c, size_t count);
在 buf 前面 count 字节中查找首次出现字符 c 的位置. 找到了字符 c 或者已经搜寻了 count
个
字
节
,
查
找
即
停
止
.
操 作 成 功 则 返 回 buf 中 首 次 出 现 c 的 位 置 指 针 , 否 则 返 回 NULL.
void *_memccpy(void *dest, const void *src, int c, size_t count);
从 src 复制 0 个或多个字节的字符到 dest. 当字符 c 被复制或者 count 个字符被复制时, 复
制
停
止
.
如果字符 c 被复制, 函数返回这个字符后面紧挨一个字符位置的指针. 否则返回 NULL.
int memcmp(const void *buf1, const void *buf2, size_t count);
比
较
buf1
和
buf2
前
面
count
个
字
节
大
小
.
返
回
值
< 0,
表
示
buf1
小
于
buf2;
返
回
值
为
0,
表
示
buf1
等
于
buf2;
返
回
值
> 0,
表
示
buf1
大
于
buf2.
int memicmp(const void *buf1, const void *buf2, size_t count);
比 较 buf1 和 buf2 前 面 count 个 字 节 . 与 memcmp 不 同 的 是 , 它 不 区 分 大 小 写 .
返
回
值
同
上
.
size_t
strlen(const
char
*string);