ホームページ > バックエンド開発 > C++ > 独自の memcpy() 関数を C 言語で作成します

独自の memcpy() 関数を C 言語で作成します

WBOY
リリース: 2023-08-25 15:17:04
転載
1805 人が閲覧しました

独自の memcpy() 関数を C 言語で作成します

ここでは、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
ログイン後にコピー

以上が独自の memcpy() 関数を C 言語で作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート