La fonction memcpy est l'une des fonctions les plus couramment utilisées en langage C. Elle permet de copier le contenu d'un bloc mémoire vers un autre bloc mémoire. Dans cet article, nous présenterons en détail l’utilisation de la fonction memcpy.
Tout d'abord, jetons un coup d'œil au prototype de la fonction memcpy :
void *memcpy(void *dest, const void *src, size_t n);
Où, `dest` est le pointeur du bloc mémoire de destination, `src` est le pointeur du bloc mémoire source et `n` est le nombre d'octets à copier.
Voici quelques notes sur l'utilisation de la fonction memcpy :
1. Le bloc mémoire cible et le bloc mémoire source ne peuvent pas se chevaucher. Si le bloc mémoire cible chevauche le bloc mémoire source, le résultat de la copie sera indéfini.
2. Le bloc mémoire cible doit disposer de suffisamment d'espace pour stocker le contenu du bloc mémoire source. Sinon, une erreur de dépassement de mémoire se produira.
3. Si la longueur du bloc mémoire source est inférieure au nombre d'octets à copier, le résultat de la copie sera indéfini. Par conséquent, avant d'utiliser la fonction memcpy, vous devez vous assurer que le bloc de mémoire source est d'une longueur suffisante.
Voici un exemple de code qui montre comment utiliser la fonction memcpy :
#include #include int main() { char src[] = "Hello, World!"; char dest[20]; // 复制src到dest memcpy(dest, src, strlen(src) + 1); printf("复制后的字符串:%s\n", dest); return 0; }
Dans l'exemple ci-dessus, nous définissons d'abord un bloc mémoire source `src` et l'initialisons à la chaîne "Bonjour, Monde!". Ensuite, nous définissons un bloc de mémoire cible `dest` d'une longueur de 20 octets. Ensuite, nous utilisons la fonction memcpy pour copier le contenu du bloc de mémoire source `src` dans le bloc de mémoire cible `dest`. Enfin, nous imprimons la chaîne copiée
Il convient de noter que lorsque nous appelons la fonction memcpy, `strlen(src) +. 1` comme nombre d’octets à copier. En effet, en langage C, les chaînes commencent par le caractère nul (' .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!