Heim > Backend-Entwicklung > C++ > Hauptteil

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

WBOY
Freigeben: 2023-08-25 15:17:04
nach vorne
1737 Leute haben es durchsucht

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);
Nach dem Login kopieren

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]);
}
Nach dem Login kopieren

Ausgabe

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

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage