strcat函数用法举例(strncat函数详解)
大家好,今天来为大家解答strcat函数用法举例这个问题的一些问题点,包括strncat函数详解也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
C语言strcat函数怎么用
用法:
#include<string.h>
在C++中,则存在于<cstring>头文件中。
strcat原型:
extern char*strcat(char*dest,char*src);
功能:
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明:
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
strcat()函数从名称来讲就是索的含义,用途:在一个字符串的末尾增加新的字符。
函数定义如下:
char*strcat(char*dest, const char*src);
扩展资料
代码实现如下:
char*strcat(char*dest, const char*src)
{
char*tmp= dest;
while(*dest)
dest++;
while((*dest++=*src++)!='\0');
return tmp;
}
实现原理:
首先dest地址移动到最后一位,然后增加src参数值遇到’\0’结束拷贝。
strcat()也存在着与strcpy()类似的问题。
strcat函数的作用是什么
strcat函数作用是把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。
strcat是把两个字符串合并到一起,比如
str1[30]="Hello";
str2[]=" China";
strcat(str1, str2);
则str1的内容就变成"Hello China"。
扩展资料:
在C中,函数原型存在<string.h>头文件中。
在C++中,则存在于<cstring>头文件中。
把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。要保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
参考资料来源:百度百科-strcat
关于C语言strcat函数的问题
s1数组在内存中占6个字节,hello字符5个还有一个结束符\0;接下来存放的是指针s2,共4个字节。
执行strcat(s1, s2);world中的w放在了原来s1字符串的\0位置,然后剩下的orld四个字符刚好覆盖了s2内存的4个字节,所以s2的内容已经改变。
这一点可以在%p输出s2中看出。
64是d的ASCII码,
6c是l的ASCII码,
72是r的ASCII码,
6f是o的ASCII码,
这和图中结果是一致的。
所以综上这里出错的代码是,s1空间不足导致数组越界,更改是把定义改成char s1[50]="hello",里面数字只要确保可以容纳helloworld\0字符串即可。
这一点在平常写代码要注意。
关于strcat函数用法举例的内容到此结束,希望对大家有所帮助。