Memmove en C et C ++

Memmove en C et C ++

Aujourd'hui, nous allons apprendre l'une des fonctions importantes du langage C et C ++ qui est la fonction memmove (). Mais avant cela, examinons rapidement les bases des langues C et C ++. Nous discuterons également des fonctions dans les deux langues C / C ++.

Le langage de programmation C est facile et assez efficace à toutes fins. L'implémentation de logiciels tels que Windows OS, les bases de données, les interprètes et d'autres outils est possible avec lui. C est une grande langue pour les débutants pour apprendre le codage avec. C'est pourquoi la programmation C est connue sous le nom de langue mère car elle sert de base à tous les autres langages informatiques. Le fondement du langage de programmation C ++ est basé sur les idées de la programmation orientée objet (OOP). L'utilisateur peut développer et comprendre facilement les principes du programme car C ++ a une structure claire. Le langage de programmation C \ C ++ est exceptionnellement polyvalent dans l'exécution de plusieurs fonctions et le passage d'une variable d'un type à un autre. La fonction memmove () est l'une des fonctions de C / C++.

La fonction memmove () transfère simultanément les octets «num» à partir du contenu du bloc de mémoire qui est indiqué par la source vers l'emplacement indiqué par la destination. La fonction memmove () n'est bénéfique que lorsque les objets source et de destination se chevauchent et empêche le comportement non défini de. Pour en savoir plus sur la fonction memmove (), creuons profondément et voyons comment implémenter la syntaxe et les exemples de la fonction memmove ().

Syntaxe:

Voici le même style d'écriture et l'implémentation de la fonction memmove () pour les langues C et C ++. Tout d'abord, nous écrivons le mot clé «void» qui signifie que si la fonction ne renvoie aucune valeur, nous écrivons le nom de la fonction que nous voulons implémenter qui est la fonction memmove (). Dans les supports de fonction, nous écrivons la destination afin que nous puissions placer les octets «num» avec le mot-clé «void». Ensuite, nous écrivons l'emplacement de la source à partir de l'endroit où nous obtenons les octets «num».

Paramètres:

dest: Adresse à l'emplacement de stockage dans lequel les données sont copiées.

SRC: Adresse à l'emplacement de stockage à partir de laquelle les données sont copiées.

compter: Quantité de données à copier de la source à la destination.

Valeur de retour:

En retour, nous obtenons l'adresse à la zone de mémoire cible. Dest est renvoyé par la fonction memmove ().

Exemple 1: implémentation de la fonction memmove () en c

Commençons à mettre en œuvre notre tout premier et simple exemple de la langue C. Pour commencer à écrire, nous avons d'abord besoin d'un compilateur C afin que nous puissions écrire et exécuter le programme. Pour cela, ouvrez le compilateur C et commencez à mettre en œuvre le programme.

#inclure
#inclure
int main()

char ch1 [] = 'l', 'i', 'n', 'u', 'x';
int length = sizeof (ch1) / sizeof (ch1 [0]);
printf ("Avant d'appliquer la fonction memmove ():");
pour (int i = 0; i< length; i++)

printf ("% c", ch1 [i]);

char * ch2 = & ch1 [2];
Memmove (CH2, CH1, Sizeof (char) * 2);
printf ("\ n \ nafter Application de la fonction memmove ():");
pour (int i = 0; i<5; i++)

printf ("% c", ch1 [i]);

retour 0;


Nous commençons toujours par incorporer les modules de programme de base après le démarrage du compilateur. Ces modules sont les modules de langue C groupés. Nous devons simplement taper une ligne de code pour inclure ces modules, par opposition à des dizaines de lignes de code pour construire le module. L'indicateur «#» informe le traducteur pour charger le module avant d'utiliser le mot-clé «inclure» pour ajouter le module au programme. Le «stdio.Le module H ”signifie que le compilateur accepte les données de l'utilisateur et les affiche à l'utilisateur. Le deuxième module du programme est «#include» afin que nous puissions utiliser les fonctions liées à la chaîne dans le programme existant.

Ensuite, nous commençons la fonction principale () afin que nous puissions écrire la ligne de code réelle que nous voulons implémenter dans le programme. Dans la ligne 6, nous déclarons le nom du tableau de caractères «CH1» du caractère de type. Ensuite, nous lui attribuons une valeur de caractère. Après cela, nous calculons la longueur du «CH1» et imprimons le tableau d'entrée «CH1» à l'aide de la «Loop» pour.

Après cela, nous déclarons le pointeur du tableau «CH2» d'un caractère de type et attribuons l'adresse du tableau «CH1» au tableau «CH2». Ensuite, nous l'imprimons en utilisant la déclaration printf (). Voyons la sortie de l'illustration précédente:

Exemple 2: implémentation de la fonction memmove () en c++

Voici l'exemple de base qui montre comment la fonction memmove () fonctionne dans la langue C ++. Pour commencer à écrire, nous avons d'abord besoin d'un IDE C ++ afin que nous puissions écrire et exécuter le programme. Pour cela, ouvrez le compilateur C ++ et commencez à implémenter le programme.

Après avoir ouvert le compilateur, nous commençons toujours par inclure les fichiers d'en-tête nécessaires au langage de programmation C ++ pour que les programmes s'exécutent. Pour construire le programme et utiliser la méthode memmove (), nous incluons d'abord les deux fichiers d'en-tête fondamentaux - «iOStream» et «cString». C ++ fournit plusieurs façons de travailler avec des tableaux et des chaînes. Ces fonctions sont mises à disposition pour une utilisation lorsque le fichier d'en-tête est inclus dans un programme avec le fichier d'en-tête «#include» utilisé pour copier un certain nombre d'octets de données de la source à la destination. Le fichier d'en-tête «#include» est utilisé à la fois pour l'entrée et la sortie des données de l'utilisateur. Ensuite, nous utilisons la «STD d'espace de noms» standard dans notre code pour utiliser la syntaxe standard du langage de programmation C ++ afin que nous puissions empêcher les objets, les méthodes et les paramètres de référencer la même portée tout au long du programme.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

char src [50] = "1234567890";
char dest [50] = "0987654321";
couter<< "Before Appyling memmove to Destination: " << dest << endl;
Memmove (Dest, Src, 6);
couter<< "After Appyling memmove to Destination: " << dest;
retour 0;


Nous commençons à écrire la fonction principale () pour démarrer l'exécution d'une ligne de code réelle. À la ligne 7, il existe un tableau de type à deux caractères de longueur 50 qui est déclaré «SRC [50]» et «DEST [50]». Nous utilisons l'instruction «cout» pour imprimer le message «Avant d'appliquer Memmove () à la destination:». Ensuite, nous passons le paramètre «dest» pour imprimer la valeur du tableau «dest». Ensuite, la fonction memmove () est appliquée à la variable de type de caractère déclarée «src [50]» et «dest [50]» pour chevaucher le nombre d'octets de l'origine (SRC) à la cible (dest) avec le Nombre de «comte». Cela identifie le nombre d'octets qui sont copiés de «SRC» à «dest». Comme vous pouvez le voir dans l'illustration suivante, nous avons déclaré «6» numéro de compte.

Après cela, nous utilisons à nouveau l'instruction «cout» pour afficher le message, «Après avoir appliqué Memmove () à la destination:», et passez le tableau «dest» variable de type «caractère». Pour empêcher le programme de fonctionner, nous devons utiliser une déclaration de retour à la conclusion du programme. Nous retournons ensuite 0 à la fonction principale, indiquant que le programme est exécuté avec succès et atteint son objectif.

Vous pouvez voir dans la sortie suivante de la méthode memmove () que s'il y a des chevauchements, par exemple, lorsque le pointeur initial se déplace vers la lettre 6, le pointeur continue d'imprimer et que les caractères suivants se chevauchent. Cet extrait de code C ++ a été exécuté et les résultats sont affichés dans l'image suivante:

Conclusion

Dans cet article, nous avons appris la fonction memmove () dans les langages de programmation C et C ++. Nous avons expliqué comment la fonction memmove () fonctionne à travers l'exemple de C et C ++ avec une explication détaillée de chaque ligne de code. Nous espérons que vous trouverez cet article utile pour développer vos connaissances concernant la fonction memmove () en C et C++.