字串函式char *stcpy(char *dest, const char *src) 是將原字串 src 的內容複製到 目的字串 dest 裡。但是strcpy()函式是乙個很危險的函式,如果需要複製源字串 src 的大小比目的字串 dest 大,呼叫函式的時候,並不會報錯,複製字串的時候,分配給目的字串的記憶體不夠儲存要複製的字串,複製的時候就 依次 覆蓋其他的記憶體空間,這樣會造成不可預見的錯誤。
我自己寫的strcpy()的思想是:
函式中的 目的字元 的大小由 原字串 大小決定,也就是在函式中動態分配記憶體給目的字串。實現的源** 如下:
*file: strcpy.c
*author: hui
*created:2010-7-19
*modify:
#include
#include
int strcopy(char **dest, const char *src)
int length;
int i = 0;
if(src == null) return -1; //源字串 src 為 null 的時候,返回 -1
length = strlen(src) + 1; //求原字串長度
*dest = (char *)malloc(length*sizeof(char));
if(*dest == null) return -2; //未分配到記憶體空間,返回-2
/******=copy*****=*/
while(*src != '/0')
// (*dest)[i] = *src;
*((*dest) + i) = *src;
src++;
i++;
// (*dest)[i] = '/0';
*((*dest) + i) = *src;
/*===end of copy===*/
return 0;
自己寫的字串函式
include using namespace std define n 50 將字串src複製到desti void mystrcpy char desti,char src desti 0 比較字串大小 int mystrcmp char str1,char str2 return p1 p2 ...
實現自己的字串拷貝函式Strcpy
strcpy是c語言的庫函式,用於完成字串的拷貝,很多筆試面試過程中要求我們自己實現這個函式。字串拷貝本身並沒有太多技巧,可以利用最後的 0 作為界限,用迴圈完成拷貝,如下 char strcpy char strdst,const char strsrc 迴圈複製 while strdst str...
字串函式strcpy
strcpy是字串複製函式,作用是將字串2複製到字元陣列1中去。說明 1.字元陣列1必須定義得足夠大,以便容納被複製的字串 2.字元陣列1 必須寫成陣列名形式 如str1 字串2 可以是字元陣列名,也可以是乙個字串常量。3.如果在複製前未對str1陣列賦值,則str1各位元組的內容是無法預知的,複製...