1. 程式人生 > >c語言中的 strcpy和strncpy字串函式使用介紹

c語言中的 strcpy和strncpy字串函式使用介紹

1.strcpy函式

函式原型:char *strcpy(char *dst,char const *src)            必須保證dst字元的空間足以儲存src字元,否則多餘的字元仍然被複制,覆蓋原先儲存在陣列後面的記憶體空間的數值,strcpy無法判斷這個問題因為他無法判斷字元陣列的長度。

 1 #include <stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5 
 6     char message[5];
 7         int a=10;
 8     strcpy(message,"
Adiffent"); 9 printf("%s %d",message,a); 10 return 0; 11 }

輸出結果是Adiffent 10;因此使用這個函式前要確保目標引數足以容納源字串

2.strncpy函式:長度受限字串函式

函式原型:char *strncpy(char *dst,char const *src,size_t len )       要確保函式複製後的字串以NUL位元組結尾,即1<len<sizeof(*dst)

 1 #include <stdio.h>
 2 #include<string.h>
 3 int
main() 4 { 5 6 char message[5]; 7 int a=10; 8 strncpy(message,"Adiffent",2);//長度引數的值應該限制在(1,5) 9 printf("%s %d",message,a); //不包含1和5 10 return 0; 11 }