C-Bibliotheksfunktionen -memcpy()

C-Standardbibliothek - <string.h>

Beschreibung

C-Bibliotheksfunktionenvoid *memcpy(void *str1, const void *str2, size_t n)Aus dem Speicherbereichstr2KopiertnBytes in den Speicherbereichstr1。

Deklaration

Nachfolgend die Deklaration der memcpy()-Funktion.

void *memcpy(void *str1, const void *str2, size_t n)

Parameter

  • str1Zeiger auf das Zielarray, das zum Speichern des kopierten Inhalts verwendet wird, typumgewandelt in einen void*-Zeiger.
  • str2Zeiger auf die Quelle der zu kopierenden Daten, typumgewandelt in einen void*-Zeiger.
  • n-- die Anzahl der zu kopierenden Bytes.

Rückgabewert

Diese Funktion gibt einen Zeiger auf den Zielspeicherbereich str1 zurück.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der memcpy()-Funktion.

Beispiel

// Kopiere die Zeichenkette in das Array dest #include <stdio.h> #include <string.h> int main () { const char src[50] = "http://www.example.com"; char dest[50]; memcpy(dest, src, strlen(src)+1); printf("dest = %s\n", dest); return(0); }

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

dest = http://www.example.com

Kopiere 6 aufeinanderfolgende Zeichen beginnend mit dem 11. Zeichen in s nach d:

Beispiel

#include <stdio.h> #include<string.h> int main() { char *s="http://www.example.com"; char d[20]; memcpy(d, s+11, 6);// Kopiere beginnend mit dem 11. Zeichen (r) und kopiere 6 aufeinanderfolgende Zeichen (example) // Oder memcpy(d, s+11*sizeof(char), 6*sizeof(char)); d[6]='\0'; printf("%s", d); return 0; }

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

example

Überschreiben eines Teils der ursprünglichen Daten:

Beispiel

#include<stdio.h> #include<string.h> int main(void) { char src[] = "***"; char dest[] = "abcdefg"; printf("Vor der Verwendung von memcpy: %s\n", dest); memcpy(dest, src, strlen(src)); printf("Nach der Verwendung von memcpy: %s\n", dest); return 0; }

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

使用 memcpy 前: abcdefg
使用 memcpy 后: ***defg

C-Standardbibliothek - <string.h>

Weitere Erweiterungen