有位学弟问到我如何将两个字符连接起来,想想java/python里面可以直接用+连接起来,可是C/C++里面有没有这么方便的做法呢?
答案是有的,在C语言的string.h库中有个神奇的函数叫做strcat,它可以做到这一点。下面开始我们的讲解~~~
此时我们可能会想知道它的原型构成:
extern char *strcat(char *dest, const char *src);
我们可以看到,函数的原型是传入了两个char类型的指针,中文定义如下:
char * strcat (目标字符串,源字符串);//将源字符串的副本附加到目标字符串上,目标字符串中的终止空字符由源字符串的第一个字符覆盖,并将这两个字符串连接形成的新字符串,末尾包含一个空字符。
在C中,函数原型存在 <string.h>头文件中
参数定义
该函数将返回一个指向最终的目标字符串 dest 的指针
举个例子:
#include <stdio.h>
#include <string.h>
int main()
{
char d[20] = "GoldenGlobal";
char* s = "View";
strcat(d,s);
printf("%s",d);
getchar();
return 0;
}
打印结果如下:
再举个通俗易懂的例子:
#include <stdio.h>
#include <string.h>
int main ()
{
char str[80];
strcpy (str,"these ");
strcat (str,"strings ");
strcat (str,"are ");
strcat (str,"concatenated.");
puts (str);
return 0;
}
打印结果如下:
these strings are concatenated.