strcpy原型聲明:extern char *strcpy(char* dest, const char *src);
頭文件:#include <string.h>
功能:把從src地址開始且含有NULL結束符的字符串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針。
函數實現:
strcat原型
extern char *strcat(char *dest,char *src);
用法
#include <string.h>
在C++中,則存在於<cstring>頭文件中。
功能
把src所指字符串添加到dest結尾處(覆蓋dest結尾處的' ')並添加' '。
說明
src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的指針。
函數實現:
//將源字符串加const,表明其為輸入參數
char *strcat(char *strDest, const char *strSrc)
{
// 後文return address,故不能放在assert斷言之後聲明address
char *address = strDest;
assert((strDest != NULL) && (strSrc != NULL)); //對源地址和目的地址加非0斷言
while(*strDest) //是while(*strDest!=' ')的簡化形式
{
//若使用while(*strDest++),則會出錯,因為循環結束後strDest還會執行一次++,
//那麼strDest將指向' '的下一個位置。/所以要在循環體內++;因為要是*strDest最後指
//向該字符串的結束標志' '。
strDest++;
}
while(*strDest++ = *strSrc++)
{
NULL; //該循環條件內可以用++,
} //此處可以加語句*strDest=' ';無必要
return address; //為了實現鏈式操作,將目的地址返回
}