日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言内存拷贝 memcpy()函数

發布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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()函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。