首頁 > 後端開發 > C++ > 主體

用C語言寫自己的memcpy()函數

WBOY
發布: 2023-08-25 15:17:04
轉載
1635 人瀏覽過

用C語言寫自己的memcpy()函數

這裡我們將看到如何用 C 語言實作 memcpy() 函數。 memcpy() 函數用於將資料塊從一個位置複製到另一個位置。 memcpy() 的語法如下 -

void * memcpy(void * dest, const void * srd, size_t num);
登入後複製

為了製作我們自己的 memcpy,我們必須將給定位址類型轉換為 char*,然後將資料從來源逐位元組複製到目標。只需閱讀以下程式碼即可獲得更好的想法。

範例

#include<stdio.h>
#include<string.h>
void custom_memcpy(void *dest, void *src, size_t n) {
   int i;
   //cast src and dest to char*
   char *src_char = (char *)src;
   char *dest_char = (char *)dest;
   for (i=0; i<n; i++)
      dest_char[i] = src_char[i]; //copy contents byte by byte
}
main() {
   char src[] = "Hello World";
   char dest[100];
   custom_memcpy(dest, src, strlen(src)+1);
   printf("The copied string is %s</p><p>", dest);
   int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90};
   int n = sizeof(arr)/sizeof(arr[0]);
   int dest_arr[n], i;
   custom_memcpy(dest_arr, arr, sizeof(arr));
   printf("The copied array is ");
   for (i=0; i<n; i++)
      printf("%d ", dest_arr[i]);
}
登入後複製

輸出

The copied string is Hello World
The copied array is 10 20 30 40 50 60 70 80 90
登入後複製

以上是用C語言寫自己的memcpy()函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!