1、strcat()
将 src 字符串连接到 dest 的尾部,‘\0’也会追加到结尾,代码如下,
#include#include /*char *strcat(char *dest, const char *src); 参数dest:目的字符串首地址src:源字符首地址返回值成功:返回 dest 字符串的首地址失败:NULL*/ int main(){ char str1[6] = "hello"; char str2[6] = "world"; strcat(str1,str2); printf("str1 = %s\n",str1); printf("str2 = %s\n",str2); int len = strlen(str1); printf("len的长度:%d\n",len); return 0; }
2、strncat()
将 src 字符串前 n 个字符连接到 dest 的尾部,‘\0’也会追加到结尾。代码如下,
#include#include /*char *strncat(char *dest, const char *src, size_t n); 参数dest:目的字符串首地址src:源字符首地址n:指定需要追加字符串个数返回值成功:返回 dest 字符串的首地址失败:NULL*/ int main(){ char destin[30]="wonhero"; char *str=" https://www.wonhero.com"; int n=19; char *newStr=strncat(destin,str,n); printf("%s\n",newStr); return 0;}
3、strcat()和strncat()区别
strcat(
)把src所指向的字符添加到dest
结尾处(覆盖原dest
结尾处的'\0'
),并添加新的'\0'
。strncat()
把所指向的字符的前n
个字符添加到dest
结尾处(覆盖原dest
结尾处的'\0'
),并添加新的'\0'
。代码如下,
#include#include int main(void){ char dest[20] = "Hello"; char *src = ", World!"; char numbers[] = "12345678"; printf("dest before strcat: \"%s\"\n", dest); // "Hello" strcat(dest, src); printf("dest after strcat: \"%s\"\n", dest); // "Hello, World!" strncat(dest, numbers, 3); // strcat first 3 chars of numbers printf("dest after strncat: \"%s\"\n", dest); // "Hello, World!123" return 0;}