1. 程式人生 > >搞懂strcpy和strcat函式

搞懂strcpy和strcat函式

貌似筆試題喜歡搞這樣的組合.
--------------------- 
作者: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。