用C語言實現strcpy函式和strncpy函式

2021-08-16 19:28:32 字數 887 閱讀 6275

內容會持續更新,有錯誤的地方歡迎指正,謝謝!

strcpy函式

strcpy是c語言中的乙個複製字串的庫函式,手動實現如下:

char* strcpy(char* des,const

char* sourse)

也許你們會有疑惑:*p++,p為乙個指標。

是這樣的,*和++是同一優先順序的運算子,所以按照右結合性來看,先執行p++,在執行*,但是請見p++的原理,p++會返回的是乙個臨時值,也屬於右值,也就是p自增之前的值。根據下方例子能更好地理解:

#include 

using

namespace

std;

int main()

; int *p=array;

int res1=*p++;//

int res2=*++p;//

cout

<" "

0;}

輸出結果為:1 3

因為:

是先執行p++,再*,所以就是先返回p去執行*,此時的p指向1,再p+1;

是先執行++p,再*,所以就是先p+1,再*,但由於已經讓p加過一次1了,所以,此時的p指向3。

strncpy函式

strncpy的功能和strcpy相似,只是它複製時多了乙個終止條件。即是未遇到原串的』\0』,如果已經複製了n個字元(n為提供的引數長度),複製同樣會終止。

char* strncpy(char* dest,char* source,int n)

c語言實現strcpy函式

char strcpy char strdestination,const char strsource 一.strcpy函式的介紹 strcpy函式 把含有 0 結束符的字串複製到零乙個位址空間,返回值的型別為char strdestination是目的字串 strsource是源字串 int m...

庫函式strcpy用C語言程式設計實現

面試題裡經常會有這些關於自己程式設計庫函式的題,這篇部落格先對strcpy進行模擬實現,後續會對其他的一些庫函式也進行實現。strcpy的功能就是複製字串 在模擬這個函式時,我們要注意目標字串必須可修改,必須足夠大,源字串必須以 0 結束。char my strcpy char arr1,const...

用C語言模擬實現庫函式strcpy

模擬實現庫函式strcpy 要實現庫函式strcpy,我們應該首先要知道strcpy函式的作用。strcpy s1,s2 strcpy函式的意思是 把字串s2拷貝到s1中,連同字串結束標誌也一同拷貝。如果s2 good 那麼記憶體合適的s1中存放的是good 0。下面是strcpy在庫函式的原型 那...