开发手册 欢迎您!
软件开发者资料库

C语言字符串处理函数 strcat()和strncat()的区别及使用

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍 C语言中符串处理函数 strcat()和strncat() 的区别使用方法,以及相关的示例代码。

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