c語言中的 strcpy和strncpy字串函式使用介紹
阿新 • • 發佈:2018-12-17
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 intmain() 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 }