strcpy函式:
首先我們來了解一下strcpy函式的功能和用法:strcpy是一種c語言的標準庫函式,strcpy把從src位址開始且含有』\0』結束符的字串複製到以dest開始的位址空間,返回值的型別為char*。也就是將乙個字串拷貝到另乙個字串中。
那接下來我們看如何具體實現。我們的基本思想是定義兩個指標src和dest,分別指向源字串和目標字串。當源字串指標沒有走到』\0』即字串結束標誌時,我們將源字串指標所指向的值賦值給目標字串指標所指向的值,然後將兩個指標向後移動,直至源字串指標走到』\0』,迴圈結束,此時,我們已經完成了我們的拷貝。
下面是具體實現**:
#include
#include
#include
char* my_strcpy(char* dest, const
char* src)//源字串指標變數是不改變的,所以用const修飾,以起到保護作用
return ret;
}int main()
; char* arr2 = "abcdefg";
char* s = null;
s = my_strcpy(arr1, arr2);
printf("%s\n",s);
system("pause");
return
0;}
執行結果如下圖:
strcat函式:
同樣,我們在模擬實現之前先看一下它的功能和用法:strcat函式的功能是把src所指字串新增到dest結尾處(覆蓋dest結尾處的』\0』)。即將乙個字串拼接到另乙個字串的後面,也就是將源字串的第乙個字元拷貝至目標字串的』\0』處,完成拼接功能。
那麼下面我們來看下怎麼模擬實現這個strcat函式:我們的基本思想是先使用迴圈將目標字串指標移到』\0』的位置,然後再將源字串拷貝至目標字串。
#include
#include
#include
/*基本思想:strcat函式是字串拼接函式,即將乙個字串拷貝至另乙個字串的後面,即將源字串的第乙個字元拷貝到目標字串
的'\0'處。我們在實現**時可以先將目標字串指標迴圈走至'\0'處,再將源字串拷貝到'\0'處。*/
char* my_strcat(char* dest, const char* src)
/*迴圈條件中語句的結果是*src賦給*dest的值,當*src賦給*dest的值不為'\0'時,進行迴圈,當*src賦給*dest的值是
'\0'時,跳出迴圈。在此需要使用後置++,這樣才能保證可以將'\0'拷貝到目標字串中。*/
while (*dest++ = *src++)
return ret;
}int main()
執行結果如下圖:
我們在實現兩個模擬函式時都要注意兩點:
1.指標引數需要斷言,指標不為null。
2.源字串是不改變的,所以用const修飾,以起到保護作用。
模擬實現strcpy函式
strcpy函式是字串操作函式,用來字串複製,把乙個字串的內容複製到另乙個字串中。src稱為源字串,dst稱為目的操作串。函式實現如下 char my strcpy char dst,const char src 1 1 src為源字串,不可改變,故用const修飾 2 指標判斷是否為空,保證 的健...
模擬實現strcpy函式
hello,chenwei 模擬實現strcpy函式 const的用法 1修飾常變數 2修飾指標變數 assert基本用法 assert 表示式 如果表示式為真,則程式繼續執行。反之,則停止並且提示錯誤 include include include 第一種 char my strcpy const...
用C語言模擬實現庫函式strcpy
模擬實現庫函式strcpy 要實現庫函式strcpy,我們應該首先要知道strcpy函式的作用。strcpy s1,s2 strcpy函式的意思是 把字串s2拷貝到s1中,連同字串結束標誌也一同拷貝。如果s2 good 那麼記憶體合適的s1中存放的是good 0。下面是strcpy在庫函式的原型 那...