生活随笔
收集整理的這篇文章主要介紹了
memcpy实例(一)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
工作中常用的,mark
#include <iostream>
#include <string.h>
using namespace std;
//c和c++使用的內(nèi)存拷貝函數(shù),
//memcpy函數(shù)的功能是從源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。
int main(int argc, char** argv) {
//void *memcpy(void *dest, const void *src, size_t n);
//從源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中 //例子一
//將s中的字符串復(fù)制到字符數(shù)組d中。
#if 0char* s="JIABAN";char d[6];memcpy(d,s,(strlen(s)+1));printf("%s",d);getchar();return 0;
#endif //例子二
//將s中第13個(gè)字符開(kāi)始的4個(gè)連續(xù)字符復(fù)制到d中。(從0開(kāi)始) #if 0char src[]="******************************";char dest[]="abcdefghijlkmnopqrstuvwxyz0123as6";printf("destination before memcpy:%s\n",dest);memcpy(dest,src,strlen(src));printf("destination after memcpy:%s\n",dest);return 0;
#endif /*
strcpy和memcpy主要有以下3方面的區(qū)別。
1、復(fù)制的內(nèi)容不同。strcpy只能復(fù)制字符串,而memcpy可以復(fù)制任意內(nèi)容,例如字符數(shù)組、整型、結(jié)構(gòu)體、類等。
2、復(fù)制的方法不同。strcpy不需要指定長(zhǎng)度,它遇到被復(fù)制字符的串結(jié)束符"\0"才結(jié)束,所以容易溢出。memcpy則是根據(jù)其第3個(gè)參數(shù)決定復(fù)制的長(zhǎng)度。
3、用途不同。通常在復(fù)制字符串時(shí)用strcpy,而需要復(fù)制其他類型數(shù)據(jù)時(shí)則一般用memcpy*/
}
轉(zhuǎn)載于:https://www.cnblogs.com/hiwoshixiaoyu/p/10035097.html
總結(jié)
以上是生活随笔為你收集整理的memcpy实例(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。