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;
}