有位學弟問到我如何將兩個字符連接起來,想想java/python里面可以直接用+連接起來,可是C/C++里面有沒有這么方便的做法呢?
答案是有的,在C語言的string.h庫中有個神奇的函數叫做strcat,它可以做到這一點。下面開始我們的講解~~~
此時我們可能會想知道它的原型構成:
extern char *strcat(char *dest, const char *src);
我們可以看到,函數的原型是傳入了兩個char類型的指針,中文定義如下:
char * strcat (目標字符串,源字符串);//將源字符串的副本附加到目標字符串上,目標字符串中的終止空字符由源字符串的第一個字符覆蓋,並將這兩個字符串連接形成的新字符串,末尾包含一個空字符。
在C中,函數原型存在 <string.h>頭文件中
參數定義
- dest -- 指向目標數組,該數組包含了一個 C 字符串,且足夠容納追加后的字符串。
- src -- 指向要追加的字符串,該字符串不會覆蓋目標字符串。
該函數將返回一個指向最終的目標字符串 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.
