c语言内存拷贝 memcpy()函数
生活随笔
收集整理的這篇文章主要介紹了
c语言内存拷贝 memcpy()函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需包含頭文件:C 標準庫 - <string.h>
文章目錄
- 描述
- 聲明
- 參數
- 返回值
- 實例1
- 實例2
- 實例3:覆蓋原有部分數據
描述
C 庫函數 void *memcpy(void *str1, const void *str2, size_t n) 從存儲區 str2 復制 n 個字節到存儲區 str1。
聲明
下面是 memcpy() 函數的聲明。
void *memcpy(void *str1, const void *str2, size_t n)參數
str1 -- 指向用于存儲復制內容的目標數組,類型強制轉換為 void* 指針。 str2 -- 指向要復制的數據源,類型強制轉換為 void* 指針。 n -- 要被復制的字節數。返回值
該函數返回一個指向目標存儲區 str1 的指針。
實例1
下面的實例演示了 memcpy() 函數的用法。
// 將字符串復制到數組 dest 中 #include <stdio.h> #include <string.h>int main () {const char src[50] = "http://www.runoob.com";char dest[50];memcpy(dest, src, strlen(src)+1);printf("dest = %s\n", dest);return(0); }運行結果:
dest = http://www.runoob.com實例2
#include <stdio.h> #include<string.h>int main(){const char* s = "http://www.runoob.com";char d[20];memcpy(d, s + 11, 6);// 從第 11 個字符(r)開始復制,連續復制 6 個字符(runoob)// 或者 memcpy(d, s+11*sizeof(char), 6*sizeof(char));d[6] = '\0';printf("%s", d);return 0; }運行結果:
runoob實例3:覆蓋原有部分數據
#include<stdio.h> #include<string.h>int main(void) {char src[] = "***";char dest[] = "abcdefg";printf("使用 memcpy 前: %s\n", dest);memcpy(dest, src, strlen(src));printf("使用 memcpy 后: %s\n", dest);return 0; }運行結果:
使用 memcpy 前: abcdefg 使用 memcpy 后: ***defg參考文章:C 庫函數 - memcpy()
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的c语言内存拷贝 memcpy()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言怎么开辟超大内存?(malloc)
- 下一篇: C语言编译报错:incompatible