
一些字符串函数的对比
1.2strcat拼接自身演示(自身不可拼接)
1.3strncat拼接自身演示
1.4strncat 源字符串小于num演示 1.4.1源字符串是自身时(明显出现错误)
1.4.2拼接的源字符串不是自身,拼接到源字符’\0’处
拷贝后:
2.strncpy拷贝演示 设置拷贝的元素个数num个,
很明显strncpy拷贝的时候不会自动添加\0,而是拷贝源字符串的\0,因此在用的时候要预留好\0的位置;
发布日期:2021-05-07 11:07:45
浏览次数:22
分类:精选文章
本文共 1127 字,大约阅读时间需要 3 分钟。
一.strcat和strncat(字符串拼接函数)
strcat | strncat |
---|---|
char *strcat(char *destination,const *source) | char *strcat(char *destination,const *source) ,size_t num |
源字符串必须以’\0’结尾 | 相同 |
拼接起始位置:目标字符串’\0’处 | 相同 |
目标的空间必须有足够的大,能容纳源字符串的内容 | 相同 |
目标的空间必须可以被修改 | 相同 |
返回值:原目标处 | 相同 |
不可以给自己拼接 | 可以给在自己拼接 |
不可设定,拼接到源字符串’\0’处 | 可以设定拼接的字符串元素个数num,如果源字符串元素个数小于num则复制到终止字符串内容为止 |
1.1strcat正常拼接演示





二.strcpy和strncpy
strcpy | strncpy |
---|---|
char *strcpy(char *destination,const *source) | char *strcpy(char *destination,const *source) ,size_t num |
源字符串必须以’\0’结尾 | 相同 |
源字符串中的’\0’会被拷贝到目标空间 | 相同 |
目标的空间必须有足够的大,能容纳源字符串的内容 | 相同 |
目标的空间必须可以被修改 | 相同 |
不可设定拷贝的元素个数 | 可以设定拷贝的字符串元素个数num,如果源字符串元素个数小于num则在目标的后边追加0,直到num个 |
1.strcpy拷贝演示
拷贝前:


三.strcmp和strncmp
strcmp | strncmp |
---|---|
int strcmy(const char *str1,const char *str2) | int strcmy(const char *str1,const char *str2,size_t num) |
比较的是字符串元素的ASCII码值,在遇到\0之前,str1和str2如果相等就一直比下去,直到遇到\0 | 相同 |
str1>srt2,返回值大于1 | 相同 |
str1<srt2,返回值小于1 | 相同 |
str1=srt2,返回值小于0 | 相同 |
不可设置 | 可以设置比较的元素个数 |
strcmp和strncmp的对比演示

发表评论
最新留言
很好
[***.229.124.182]2025年04月07日 18时21分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!