c語言模擬實現strncpy

2021-08-21 19:51:42 字數 722 閱讀 8605

在c語言中,為了實現字串的拷貝可以用到strcpy函式,而這個函式只能實現所有字元的拷貝,為了控制拷貝的字元數,則要用到strncpy函式。

通過模擬實現strncpy函式來完成這個函式的功能。

在該函式的拷貝中,可以根據你的需要拷貝相應數量的字元,在字串的拷貝中,如果你想拷貝的字元數超過了所能拷貝的字元數,則該函式會將原字串缺少的字元用0代替,完成所有的字元拷貝。

在拷貝中必須知道原字串的字元數,所以就需要加入乙個函式來求取該字串的長度,所以在main函式所引用的函式下再加乙個函式來求取原字串的長度,為後面拷貝缺少的字元提供判斷。

#include#includeint sizeof(char*asd)

return j;

}char *my_strncpy(char*tat, const char *cat, int num)

return tat;

} else

for (i = 0; i < num - zs; i++)

return tat; }}

int main()

; int sz = 0;

scanf_s("%d", &sz);

my_strncpy(arr2, arr1, sz);

printf("%s\n", arr2);

system("pause");

return 0;

}

模擬實現strncpy

strncpy就是將src中的n個字元拷貝到dest中,要注意幾個點 如果src長度小於len,用 0 補齊len的長度。注意用strlen判斷src長度時,要明白strlen是向後找 0 來計算長度,所以,如果是用單個字元賦值,不要忘記在結尾加上 0 如果要給src限定長度時也不要忘記算上 0 的...

C語言 模擬實現memcpy

模擬實現記憶體拷貝函式memcpy 該特點與strcpy 比較就是不管是不是string型別均可以比較,只是單純記憶體的比較。void my memcpy void p1,const void p2,size t count char dest char p1 char src char p2 si...

C語言模擬實現strncpy strcat

模擬實現strncpy 先演示一下strncpy的效果 如下 include include void main void 執行結果 通過以上演示可以看出,strncpy實現的是用乙個固定的字串去替換原字串中的某段字元,可以設定乙個迴圈,來實現字元的替換,如果它只有乙個字元要替換,則迴圈執行一次,設...