函式原型:void *memcpy(void dest, const void src, size_t n);
思路:先將void轉化為char,然後按位賦值。memcpy不會按照『\0』來判斷字串拷貝。
void
*memcpy
(void
* dest,
const
void
* src,size_t len)
return dest;
}
strcpy函式
函式原型:char* strcpy(char* dest, const char* src)
char
*strcpy
(char
* dest,
const
char
* src)
char
* p = dest;
while
(*src !=
'\0'
)return dest;
}
簡寫:
char
*strcpy
(char
* dest,
const
char
* src)
為了實現鏈式操作,將目的位址返回。
strcpy函式拷貝結束條件是判斷最後一位是否是』\0』。所以下面的**:
char s1[3];
char s2[3];
for(int i=0; i<3; ++i)
strcpy(s2, s1);
printf("%s\n", s2);
無法對s2正確賦值,列印出來的是aaa)ÿ,三個a賦值成功,但是最後一位是亂碼,這樣賦值是有問題的。 陣列複製函式memcpy和strcpy
strcpy和memcpy主要有以下3方面的區別。1 複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列 整型 結構體 類等。2 複製的方法不同。strcpy不需要指定長度,它遇到被複製字元的串結束符 0 才結束,所以容易溢位。memcpy則是根據其第3個引數決定...
strcpy函式與memcpy函式
strcpy函式與memcpy函式 6.2 字串與陣列 字串一般是用字元陣列的方式儲存,例如下面的str定義 char str 123456 這裡str是乙個字元陣列,它存放了乙個字串 123456 由於字串還有乙個結束符 0 所以此陣列的長度為7而不是6。6.2.1 strcpy函式與memcpy...
strcpy函式與memcpy函式
strcpy函式與memcpy函式 6.2 字串與陣列 字串一般是用字元陣列的方式儲存,例如下面的str定義 char str 123456 這裡str是乙個字元陣列,它存放了乙個字串 123456 由於字串還有乙個結束符 0 所以此陣列的長度為7而不是6。6.2.1 strcpy函式與memcpy...