C語(yǔ)言中memcpy 函數(shù)的用法詳解
C語(yǔ)言中memcpy 函數(shù)的用法詳解
memcpy(內(nèi)存拷貝函數(shù))
c和c++使用的內(nèi)存拷貝函數(shù),memcpy函數(shù)的功能是從源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。
void* memcpy(void* destination, const void* source, size_t num); void* dest 目標(biāo)內(nèi)存 const void* src 源內(nèi)存 size_t num 字節(jié)個(gè)數(shù)
庫(kù)中實(shí)現(xiàn)的memcpy函數(shù)
struct {
char name[40];
int age;
} person, person_copy;
int main()
{
char myname[] = "Pierre de Fermat";
/* using memcpy to copy string: */
memcpy(person.name, myname, strlen(myname) + 1);
person.age = 46;
/* using memcpy to copy structure: */
memcpy(&person_copy, &person, sizeof(person));
printf("person_copy: %s, %d \n", person_copy.name, person_copy.age);
system("pause");
return 0;
}

模擬實(shí)現(xiàn)memcpy函數(shù)
void* My_memcpy(void* dest, const void* src, size_t num)
{
assert(dest);
assert(src);
void* p = dest;
while (num--)
{
*(char*)dest = *(char*)src;
dest = (char*)dest + 1;
src = (char*)src + 1;
}
return p;
}
int main()
{
char dest[56];
char src[] = "abcb xxxx zzzzzzzzzzzzy";
printf("%s\n", My_memcpy(dest, src, strlen(src) + 1));
system("pause");
return 0;
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 詳解C語(yǔ)言中strcpy函數(shù)與memcpy函數(shù)的區(qū)別與實(shí)現(xiàn)
- C語(yǔ)言內(nèi)存函數(shù) memcpy,memmove ,memcmp
- C語(yǔ)言函數(shù)之memcpy函數(shù)用法實(shí)例
- C語(yǔ)言?模擬實(shí)現(xiàn)memcpy與memmove函數(shù)詳解
- C語(yǔ)言 strcpy和memcpy區(qū)別詳細(xì)介紹
- 對(duì)比C語(yǔ)言中memccpy()函數(shù)和memcpy()函數(shù)的用法
- C語(yǔ)言實(shí)現(xiàn)memcpy函數(shù)的使用示例
相關(guān)文章
makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn)
這篇文章主要介紹了makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
C++?Cartographer源碼中關(guān)于MapBuilder的聲明與構(gòu)造
這篇文章主要介紹了C++?Cartographer源碼中關(guān)于MapBuilder的聲明與構(gòu)造,前面已經(jīng)談到了Cartographer中添加軌跡的方法和傳感器的數(shù)據(jù)流動(dòng)走向。在添加軌跡的時(shí)候,除了添加位姿估計(jì)器還有采樣器,訂閱回調(diào)函數(shù)之外,最重要的是通過(guò)map_builder_bridge添加了一條軌跡2023-03-03
C++ 數(shù)據(jù)結(jié)構(gòu)鏈表的實(shí)現(xiàn)代碼
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)鏈表的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01
C++如何判斷一個(gè)數(shù)是不是素?cái)?shù)
這篇文章主要介紹了C++如何判斷一個(gè)數(shù)是不是素?cái)?shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
C語(yǔ)言學(xué)習(xí)之函數(shù)知識(shí)總結(jié)
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè)?C?程序都至少有一個(gè)函數(shù),即主函數(shù)?main()?,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)。本文就為大家詳細(xì)講講C語(yǔ)言中函數(shù)的相關(guān)知識(shí)點(diǎn),希望有所幫助2022-07-07

