這兩個函式在基礎性筆試中出鏡率很高,所以有必要好好總結下:
strcpy和memcpy都是標準c庫函式,它們有下面的特點。
strcpy提供了字串的複製。strcpy只用於字串複製,並且它不僅複製源字串內容之外,還會複製源字串的結束符。這是strcpy函式的重要特點
strcpy函式標頭檔案:#include
已知strcpy函式的原型是:char* strcpy(char* dest, const char* src);
void *memcpy( void *dest, const
void *src, size_t count );
char * strcpy(char * dest, const
char * src) // 實現src到dest的複製
char *strdest = dest; //儲存目標字串的首位址
while ((*strdest++ = *strsrc++)!='\0'); //把src字串的內容複製到dest下
return strdest;
}
記憶體位元組複製函式
memcpy函式標頭檔案:#include
函式原型:void *memcpy(void *dest, const void *src, size_t n);
將src所指記憶體空間的n個位元組複製到以dest所指空間。假如是複製字串,所以不一定會將src所指字串的字元結束符也複製到dest**去。
memcpy提供了一般記憶體的複製。即memcpy對於需要複製的內容沒有限制,因此用途更廣。
void *memcpy(void *memto, const
void *memfrom, size_t size)
strcpy和memcpy主要有以下3方面的區別。
1、複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列、整型、結構體、類等。
2、複製的方法不同。strcpy不需要指定長度,它遇到被複製字元的串結束符」\0」才結束,所以容易溢位。memcpy則是根據其第3個引數決定複製的長度。
3、用途不同。通常在複製字串時用strcpy,而需要複製其他型別資料時則一般用memcpy
操縱C 風格字串標準庫函式
這些標準庫函式不會檢查其字串引數 傳遞給這些標準庫函式例程的指標必須具有非零值,並且指向以null結束的字元陣列中的第乙個元素。strlen s 返回s的長度,不包括字串結束符 null strcmp s1,s2 比較兩個字串是否相同。相等則返回0 s1 s2,返回正數,s1strcat s1,s2...
C語言標準庫函式 數學函式 字元(串)處理函式
c 語言標準庫函式 c 語言中有大量的標準庫函式,根據功能不同,宣告於不同的標頭檔案中。這些庫函式在 c 中也能使用。下面分類列舉了一些c 語言常用庫函式,由於篇幅所限,只列出函式名字 數學函式 數學庫函式宣告在 math.h 中,主要有 abs x 求整型數x 的絕對值 cos x x 弧度 的余...
C庫函式 字串轉數字整理
atof 將字串轉換成浮點型數 atoi 將字串轉換成整型數 atol 將字串轉換成長整型數 strtod 將字串轉換成浮點數 strtol 將字串轉換成長整型數 strtoul 將字串轉換成無符號長整型數 toascii 將整型數轉換成合法的ascii 碼字元 toupper 將小寫字母轉換成大寫...