搞懂strcpy和strcat函式
阿新 • • 發佈:2018-12-28
貌似筆試題喜歡搞這樣的組合.
---------------------
作者:ProgrammerSLK
來源:CSDN
原文:https://blog.csdn.net/slk11580/article/details/79571478
版權宣告:本文為博主原創文章,轉載請附上博文連結!
strcat函式:
將兩個char型別連線。
char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s);
結果放在d中
printf("%s",d);
輸出 d 為 GoldenGlobalView (中間無空格)
d和s所指記憶體區域不可以重疊且d必須有足夠的空間來容納s的字串。
返回指向d的指標。
原型是 extern char *strcat(char *dest, const char *src);
把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0
strcpy函式:
原型宣告:char *strcpy(char* dest, const char *src);
標頭檔案:#include <string.h> 和 #include <stdio.h>
功能:把從src地址開始且含有NULL結束符的字串複製到以dest開始的地址空間
說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。
返回指向dest的指標。
#include "stdafx.h" #include"stdio.h" #include"string.h" #include <stdlib.h> int main() { char p1[10] = "abcd", *p2, str[10] = "xyz"; p2 = "ABCD"; strcpy(str + 2, strcat(p1 + 2, p2 + 1)); printf(" %s", p1); printf(" %s", str); system("pause"); return 0; }
輸出: abcdBCD xycdBCD
值得注意的是當p1+5,或者更大時,會只輸出p1的值abcd。