天天看點

strcpy 與strncpy 差別

strstr 将 src的内容拷到 dst, 直到碰到 \0 , 如果 dst 長度不夠, 則會越界。 最後會把 \0 補上。

strncpy 取決于 n 、src 的長度, 如果 n > src , 其餘補0, 如果 n< src , 隻拷貝 n位,沒有\0 .

例子:

strcpy(name,p);      //目标長度小于源串===》錯誤!

strncpy(name,p,sizeof(name));      //源串長度大于指定拷貝的長度sizeof(name),在這種情況下不會自動在目标串後面加'\0' 。

name[sizeof(name)-1]='\0';//和上一步組合,彌補結果

同一個LIB檔案被多個程序使用,必須到特定的程序下,傳參給本程序的LIB進而達到修改LIB裡函數的作用。如果在另一個程序傳參,則隻修改了另一個程序自己的LIB函數。

繼續閱讀