Heim >Backend-Entwicklung >C++ >Schreiben Sie Ihre eigene memcpy()-Funktion in C-Sprache

Schreiben Sie Ihre eigene memcpy()-Funktion in C-Sprache

WBOY
WBOYnach vorne
2023-08-25 15:17:041826Durchsuche

Schreiben Sie Ihre eigene memcpy()-Funktion in C-Sprache

Hier erfahren Sie, wie Sie die Funktion memcpy() in der Sprache C implementieren. Die Funktion memcpy() wird verwendet, um einen Datenblock von einem Ort an einen anderen zu kopieren. Die Syntax von memcpy() lautet wie folgt: -

void * memcpy(void * dest, const void * srd, size_t num);

Um unser eigenes Memcpy zu erstellen, müssen wir die angegebene Adresse in char* umwandeln und dann die Daten Byte für Byte von der Quelle zum Ziel kopieren. Lesen Sie einfach den folgenden Code, um eine bessere Vorstellung zu bekommen.

Beispiel

#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]);
}

Ausgabe

The copied string is Hello World
The copied array is 10 20 30 40 50 60 70 80 90

Das obige ist der detaillierte Inhalt vonSchreiben Sie Ihre eigene memcpy()-Funktion in C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen