自己寫的 字串函式strcpy

2021-05-23 02:48:10 字數 999 閱讀 8917

字串函式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各位元組的內容是無法預知的,複製...