首页 > 代码库 > 字符串处理函数
字符串处理函数
memcpy函数:
- 将以 src 为起始地址处的内容复制 n 个字节到以 dest 为起始地址处的内存中去。但是memcpy函数有个限制,就是 不能出现内存重叠,否则其行为是未知的。所以使用memcpy函数的时候必须保证 不会出现内存重叠 的情况。但是基本上现在的库都会将memcpy实现的和memmove类似。
memmove函数:
- 功能和memcpy函数的功能相同,但是会考虑源内存空间和目的内存空间重叠的问题,若出现重叠,memmove函数会先进行处理在进行复制(先把源内存空间的内容复制到一个临时存储空间中,再将内容复制到目的内存空间中)。可见memmove函数在出现内存重叠的情况时可以保证 dest 中数据的正确,但是不能保证 src 中的数据还是正确的。
memset函数:
- 给一段内存空间进行赋任意值。类似功能的函数还有bzero(此函数不能赋任意值,只能清零)。
memchr函数:
- 扫描从以 s 为起始地址的前 n 个字节,如果出现了数值 c ,那么返回数值 c 的地址,否则返回NULL。
memcmp函数:
- 对 s1 和 s2 开始前 n 个字节的内存空间进行比较,如果s1==s2,则返回 0 ;如果s1>s2,则返回 大于 0 的数;如果s1<s2,则返回 小于0 的数。
strcpy函数:
- 将 src 内存处的内容复制到 dest 内存处。遇到 ‘\0‘ 后停止复制,而且 ‘\0‘ 也会被复制到dest 内存中去。注意,不能出现内存重叠的情况。
strncpy函数:
- 将 src 内存中的内容复制到 dest 内存处。遇到 ‘\0‘ 或者复制了 n 个字节后便停止,和strcpy类似,如果前 n 个字节中有 ‘\0‘ ,则 ‘\0‘ 也会复制到 dest 中去,如果前 n 个字节中没有 ‘\0’,则 strncpy 函数不会在后面追加 ‘\0‘ 。同样,strncpy函数也不能出现内存重叠的情况。
strcat函数:
- 将 src 中的内容追加到 dest 后面中去,在 src 中遇到 ‘\0‘ 便结束,且将 ‘\0‘ 添加到dest 后面。注意,这个函数也不会处理内存重叠的问题。
strncat函数:
- 将 src 中的内容追加到 dest 后面去,并且在遇到 ‘\0‘ 或者复制了 n 个字符时便停止。和strncpy函数不同,strncpy函数在复制了 n 个字节后,是不会在追加 ‘\0‘ 的,而 strncat 函数即使复制了 n 个字节,仍然会追加一个 ‘\0‘ 。
字符串处理函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。