Memmove() in C und C++

Memmove In C Und C



Heute werden wir eine der wichtigen Funktionen der Sprache C und C++ lernen, nämlich die Funktion memmove(). Aber vorher werfen wir einen kurzen Blick auf die Grundlagen der Sprachen C und C++. Wir werden auch besprechen, welche Funktionen es in beiden C/C++-Sprachen gibt.

Die Programmiersprache C ist einfach und für alle Zwecke sehr effektiv. Die Implementierung von Software wie Windows OS, Datenbanken, Interpretern und anderen Tools ist damit möglich. C ist eine großartige Sprache für Anfänger, um das Programmieren zu lernen. Aus diesem Grund wird die C-Programmierung als Muttersprache bezeichnet, da sie als Grundlage für alle anderen Computersprachen dient. Die Grundlage der Programmiersprache C++ basiert auf den Ideen der objektorientierten Programmierung (OOP). Der Benutzer kann die Prinzipien des Programms leicht entwickeln und nachvollziehen, da C++ eine klare Struktur hat. Die Programmiersprache C\C++ ist außergewöhnlich vielseitig, wenn es darum geht, mehrere Funktionen auszuführen und eine Variable von einem Typ zu einem anderen zu wechseln. Die Funktion memmove() ist eine der Funktionen von C/C++.







Die Funktion memmove() überträgt gleichzeitig „num“ Bytes aus dem Inhalt des Speicherblocks, der von der Quelle angegeben wird, an die Stelle, die vom Ziel angegeben wird. Die memmove()-Funktion ist nur dann von Vorteil, wenn sich Quell- und Zielobjekt überlappen, und verhindert, dass das undefinierte Verhalten auftritt. Um mehr über die Funktion memmove() zu erfahren, lassen Sie uns tief graben und sehen, wie die Syntax und die Beispiele in der Funktion memmove() implementiert werden.



Syntax:

Hier ist derselbe Schreibstil und die Implementierung der Funktion memmove() für die Sprachen C und C++. Zuerst schreiben wir das Schlüsselwort „void“, was bedeutet, dass wir, wenn die Funktion keinen Wert zurückgibt, den Namen der Funktion schreiben, die wir implementieren möchten, nämlich die Funktion memmove(). In die Funktionsklammern schreiben wir das Ziel, damit wir die „num“-Bytes mit dem Schlüsselwort „void“ platzieren können. Dann schreiben wir den Quellort, von dem wir die „num“ Bytes erhalten.







Parameter:

Hand: Adresse an den Speicherort, in den die Daten kopiert werden.

Quelle: Adresse an den Speicherort, von dem die Daten kopiert werden.



zählen: Datenmenge, die von der Quelle zum Ziel kopiert werden soll.

Rückgabewert:

Als Antwort erhalten wir die Adresse des Zielspeicherbereichs. Dest wird von der Funktion memmove() zurückgegeben.

Beispiel 1: Implementierung der Memmove()-Funktion in C

Beginnen wir mit der Implementierung unseres allerersten und einfachen Beispiels der C-Sprache. Um mit dem Schreiben zu beginnen, benötigen wir zunächst einen C-Compiler, damit wir das Programm schreiben und ausführen können. Öffnen Sie dazu den C-Compiler und beginnen Sie mit der Implementierung des Programms.

#include
#include

int Haupt ( )
{
Zeichen ch1 [ ] = { 'L' , 'ich' , 'n' , 'in' , 'x' } ;

int Länge = Größevon ( ch1 ) / Größe von ( ch1 [ 0 ] ) ;

Druckf ( 'Vor der Anwendung der Funktion memmove(): ' ) ;
zum ( int ich = 0 ; ich < Länge; i++ )
{
Druckf ( '%c' , ch1 [ ich ] ) ;
}

verkohlen * ch2 = & ch1 [ zwei ] ;
memmove ( ch2, ch1, sizeof ( verkohlen ) * zwei ) ;

Druckf ( ' \n \n Nach dem Anwenden der Funktion memmove(): ' ) ;

zum ( int ich = 0 ; ich < 5 ; i++ )
{
Druckf ( '%c ' , ch1 [ ich ] ) ;
}
Rückkehr 0 ;

}


Wir beginnen immer mit dem Einbinden der Kernprogrammmodule nach dem Start des Compilers. Diese Module sind die gebündelten C-Sprachmodule. Wir müssen nur eine Codezeile eingeben, um diese Module einzufügen, im Gegensatz zu Dutzenden von Codezeilen, um das Modul zu erstellen. Der Indikator „#“ informiert den Übersetzer, dass er zuerst das Modul laden soll, bevor er das Schlüsselwort „include“ verwendet, um das Modul dem Programm hinzuzufügen. Das Modul „stdio.h“ bedeutet, dass der Compiler die Daten vom Benutzer entgegennimmt und dem Benutzer anzeigt. Das zweite Modul des Programms ist „#include “, damit wir die stringbezogenen Funktionen im bestehenden Programm verwenden können.

Dann starten wir die Funktion main(), damit wir die eigentliche Codezeile schreiben können, die wir im Programm implementieren wollen. In Zeile 6 deklarieren wir den Zeichen-Array-Namen „ch1“ vom Typ Zeichen. Dann weisen wir ihm einen Zeichenwert zu. Danach berechnen wir die Länge von „ch1“ und drucken das Eingabearray „ch1“ mit der „for-Schleife“.

Danach deklarieren wir den Zeiger auf das „ch2“-Array eines Typzeichens und weisen dem „ch2“-Array die Adresse des „ch1“-Arrays zu. Dann drucken wir es mit der printf()-Anweisung. Sehen wir uns die Ausgabe der vorherigen Abbildung an:

Beispiel 2: Implementierung der Memmove()-Funktion in C++

Hier ist das grundlegende Beispiel, das zeigt, wie sich die Funktion memmove() in der Sprache C++ verhält. Um mit dem Schreiben zu beginnen, benötigen wir zunächst eine C++-IDE, damit wir das Programm schreiben und ausführen können. Öffnen Sie dazu den C++-Compiler und beginnen Sie mit der Implementierung des Programms.

Nach dem Öffnen des Compilers beginnen wir immer damit, die Header-Dateien einzubinden, die für die Programmiersprache C++ notwendig sind, damit die Programme laufen. Um das Programm zu erstellen und die Methode memmove() zu verwenden, binden wir zunächst die beiden grundlegenden Header-Dateien ein – „iostream“ und „cstring“. C++ bietet mehrere Möglichkeiten, mit Arrays und Strings zu arbeiten. Diese Funktionen werden zur Verfügung gestellt, wenn die Header-Datei in ein Programm eingebunden wird, wobei die Header-Datei „#include  “ zum Kopieren einer bestimmten Anzahl von Datenbytes von der Quelle zum Ziel verwendet wird. Die Header-Datei „#include “ wird sowohl für die Eingabe als auch für die Ausgabe der Daten des Nutzers verwendet. Dann verwenden wir in unserem Code den standardmäßigen „Namespace std“, um die Standardsyntax der Programmiersprache C++ zu verwenden, damit wir verhindern können, dass die Objekte, Methoden und Parameter im gesamten Programm auf denselben Bereich verweisen.

#include
#include
mit Namensraum std;

int Haupt ( )
{
Char-Quell [ fünfzig ] = '1234567890' ;
char Ziel [ fünfzig ] = '0987654321' ;

cout << 'Vor dem Anwenden von memmove to Destination: ' << Anfang << endl;
memmove ( Ziel, Quelle, 6 ) ;
cout << 'Nach Anwenden von memmove to Destination: ' << Hände

Rückkehr 0 ;
}


Wir beginnen mit dem Schreiben der Funktion main(), um die Ausführung einer tatsächlichen Codezeile zu starten. In Zeile 7 befindet sich ein zweistelliges Typ-Array der Länge 50, das als „src[50]“ und „dest[50]“ deklariert ist. Wir verwenden die „cout“-Anweisung, um die Nachricht „Before Applying memmove() to Destination: “ auszugeben. Dann übergeben wir den „dest“-Parameter, um den Wert des „dest“-Arrays auszugeben. Dann wird die Funktion memmove() auf die als „src[50]“ und „dest[50]“ deklarierte Zeichentypvariable angewendet, um die bestimmte Anzahl von Bytes vom Ursprung (src) zum Ziel (dest) mit dem zu überlappen Zahl der „Anzahl“. Dies identifiziert die Anzahl der Bytes, die von „src“ nach „dest“ kopiert werden. Wie Sie in der folgenden Abbildung sehen können, haben wir die Zählnummer „6“ deklariert.

Danach verwenden wir erneut die „cout“-Anweisung, um die Meldung „After Applying memmove() to Destination: “ anzuzeigen, und übergeben das variable „dest“-Array vom Typ „character“. Um die Ausführung des Programms zu stoppen, müssen wir am Ende des Programms eine return-Anweisung verwenden. Wir geben dann 0 an die Hauptfunktion zurück, was anzeigt, dass das Programm erfolgreich ausgeführt wurde und sein Ziel erreicht hat.

Sie können in der folgenden Ausgabe der Methode memmove() sehen, dass bei einer Überlappung, z. B. wenn sich der Anfangszeiger auf den Buchstaben 6 bewegt, der Zeiger weiter gedruckt wird und die folgenden Zeichen überlappen. Dieses C++-Code-Snippet wurde ausgeführt und die Ergebnisse werden im folgenden Bild angezeigt:

Fazit

In diesem Artikel haben wir die Funktion memmove() in den Programmiersprachen C und C++ kennengelernt. Wir haben darüber gesprochen, wie die Funktion memmove() am Beispiel von C und C++ funktioniert, mit einer detaillierten Erklärung jeder Codezeile. Wir hoffen, dass Sie diesen Artikel hilfreich finden, um Ihr Wissen über die Funktion memmove() in C und C++ zu erweitern.