strcpy函式的實現

2021-07-30 22:32:27 字數 527 閱讀 8968

最近面試到一些基本的問題這裡做個基本的測試,還真發現了小問題

面試問題是:不適用庫函式實現strcpy(char* dst,char* src);

char * str = "abdda1234123";

char * str2;

int i = 0;

i = strlen(str);

str2 = new char[i + 1];

char *tmp = str2;

//strcpy(str2, str);

while (*tmp++ = *str++)

; tmp[i + 1] = '\0';

printf("str2's result:%s", str2);

return 0;

我假設一開始的str2是乙個空指標,所以需要先申請,然後發現如果我在while迴圈中直接用str2,賦值將會失敗。。原因如果有哪位博友告知,感激不盡.....

如果賦值給乙個臨時指標tmp,執行正確;

strcpy函式的實現

感謝分享!cpp view plain copy char my strcpy char dst,const char src 如果注意到 1,檢查指標有效性 2,返回目的指標des 3,源字串的末尾 0 需要拷貝。寫出上面實現函式就不在話下。然而這樣的實現沒有考慮拷貝時記憶體重疊的情況,下面的測試...

strcpy函式的實現

大家一般認為名不見經傳strcpy函式實現不是很難,流行的strcpy函式寫法是 cpp view plain copy char my strcpy char dst,const char src 如果注意到 1,檢查指標有效性 2,返回目的指標des 3,源字串的末尾 0 需要拷貝。寫出上面實現...

strcpy函式的實現

strcpy函式的實現 已知strcpy函式的原型是 char strcpy char dst,const char src 實現strcpy函式 解釋為什麼要返回char 假如考慮dst和src記憶體重疊的情況,strcpy該怎麼實現 1.strcpy的實現 char strcpy char ds...