1、strcat()
将 src 字符串连接到 dest 的尾部,‘\0’也会追加到结尾,代码如下,
#include <stdio.h> #include <string.h> /* 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 <stdio.h> #include <string.h> /* char *strncat(char *dest, const char *src, size_t n); 参数 dest:目的字符串首地址 src:源字符首地址 n:指定需要追加字符串个数 返回值 成功:返回 dest 字符串的首地址 失败:NULL */ int main() { char destin[30]="cjavapy"; char *str=" https://www.cjavapy.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 <stdio.h> #include <string.h> 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; }