strcpy(a,
b)從b復制內容到a,然後從b+1復制內容到a+1,依次類推,知道b+i的內容是'\0'。要小心的是1:確保b是以'\0'結尾的字符串;2:確保a開始有足夠的可用內存。通常用strncpy(a,
b,
c)會好壹些,這時復制的數據最長不超過c字節。
memcpy(a,
b,
c)從b開始復制c字節內容到a。相比strcpy,memcpy是確定復制c個字節的。所以只要保證b開始有c字節有效數據,a開始有c字節內存空間就行。
要小心的是:memcpy對於重疊內存的復制支持不太好。重疊內存是指
char
a[10]的話,memcpy(a,
a
+
3,
5)這樣的,源數據是a+3到a+7,目標位置是a到a+5,有重復。
如果希望覆蓋,可以用memmove。