strcat 描述 char *strcat(char *dest, const char *src) 把 src 所指向的字元串追加到 dest 所指向的字元串的結尾。 聲明 下麵是 strcat() 函數的聲明。 char *strcat(char *dest, const char *src) ...
strcat
描述
char *strcat(char *dest, const char *src) 把 src 所指向的字元串追加到 dest 所指向的字元串的結尾。
聲明
下麵是 strcat() 函數的聲明。
char *strcat(char *dest, const char *src)
參數
dest -- 指向目標數組,該數組包含了一個 C 字元串,且足夠容納追加後的字元串。
src -- 指向要追加的字元串,該字元串不會覆蓋目標字元串。
返回值
該函數返回一個指向最終的目標字元串 dest 的指針。
註意事項:
對於strcat(追加)函數,不能自己追加自己,因為寫入後會覆蓋掉arr1本身的\0,後面arr2也改變,從而死迴圈
模擬實現
//my_strcat
#include<stdio.h>
#include<assert.h>
char* my_strcat(char*dest, const char*source)
{
//ret存dest指針
char*ret = dest;
assert(dest&&source);
//走到'\0'這裡
while (*dest)
{
dest++;
}
//開始追加,直到最後一個位為'\0',結束迴圈
while (*dest++ = *source++) //strcpy
;
return ret;
}
int main() // my_strcat
{
char arr1[30] = { 'a', 'b', 'c', 'd', '\0' };
char arr2[] = "bit";
printf("%s", my_strcat(arr1, arr2));
return 0;
}
本文來自博客園,作者:HJfjfK,原文鏈接:https://www.cnblogs.com/DSCL-ing/p/18342322