Strncpy in c

Strncpy in c

STRNCPY ist auch als String -Kopierfunktion bekannt. Es ist eine entscheidende Funktion, die von der C -String -Bibliothek der C -Sprache angeboten wird. STRNCPY ist dafür verantwortlich, einen Teil des Inhalts einer Zeichenfolge in einen anderen zu kopieren.

STRNCPY (String_a, String_B, 6) Kopiert die ersten 6 Zeichen von String "String_B" in die Zeichenfolge "String_a". String_a ist die Zeichenfolge, an die der Inhalt der Zeichenfolge kopiert wird. Während String_B ist das, mit dem die ersten 6 Zeichen der Zeichenfolge oder die Zeichenfolge abgerufen werden, aus der die ersten 6 Zeichen kopiert werden sollen.

Falls die Länge der Zeichenfolge (von der der Teil der Zeichenfolge kopiert wird.

Syntax

Die Syntax zu rufen strncpy () Funktion ist:

In der obigen Syntax, "Char*Dest bezeichnet das Ziel, an dem die Zeichenfolge gespeichert werden soll. Der zweite Parameter “const char*src ” ist ein Standard von C, der angibt, dass die src ist ein Zeichenzeiger, und im dritten Parameter geben wir unserer Funktion die Größe, um zu definieren, wie viele Zeichen der Zeichenfolge kopieren sollen. Der zweite Parameter kann nicht geändert werden, weshalb er konstant ist. In dieser Funktion speichern wir eine Zeichenfolge in unserem Quellparameter und kopieren sie in ein beliebiges Ziel, das als „Ziel“ dargestellt wird, kopieren. Geben Sie dann die Größe unserer Zielvariablen an, damit die Funktion die gleiche Anzahl von Zeichen aus unserem String x kopiert. Wir können auch Null an den Quellparameter übergeben.

Beispiel 1:

In diesem Beispiel haben wir Zwei-Charakter-Arrays deklariert, die x und y unter Verwendung eines Arrays von Größe 20 für „X“ und 5 für „y“ sind. Wir haben die Zeichenfolge „Hallo Welt“ in unserer X -Variablen gespeichert, die unsere Quellvariable ist.

Nachdem wir unsere Charakter -Arrays deklariert haben, werden wir unsere anrufen strncpy Funktion zum Kopieren unserer gewünschten Zeichenfolge auf den anderen. In strncpy, Wir haben sowohl das Ziel des Arrays als auch das Quellarray zusammen mit der Größe übergeben, an der die Zeichenfolge kopiert wird.

Im obigen Code ist y unsere Zielzeichenzeichenfolge, die wir früher in der Einführung diskutiert haben. Diese Funktion hat drei Parameter: Quelle, Ziel und Länge. Unser Hauptziel ist es, den Zeichenfolgenwert zu kopieren, den wir unserem Quellarray „X“ in unser Ziel -Array „Y“ zugewiesen haben. Wir haben die Länge der y -Variablen als dritter Parameter gegeben, damit die gleiche Anzahl von Zeichen wie die Länge von Y kopiert wird. Verwendung der printf () Anweisung drucken wir das kopierte Array als Ausgabe, wobei %s verwendet wird, um die Zeichenfolge vom ersten Zeichen zum Null -Zeichen zu drucken, und „y“ ist das resultierende Array, das gedruckt werden muss.

Unser Code gibt die folgende Ausgabe an, sobald er ausgeführt wird. Wie wir in unserer Ausgabe sehen können, hat es den gesamten Satz nicht kopiert.

Beispiel # 2:

Im folgenden Beispiel haben wir zuerst unsere Char -Arrays mit dem Namen „A“ und „B“ in eine feste Größe von 6 initialisiert. Nach der Initialisierung haben wir unsere Arrays an die übergeben strncpy Funktion mit der Länge der Zeichenfolge, an die sie kopiert wird.

Wenn strncpy Kopiert den Inhalt der Quelle an das Ziel, kopiert die Zeichenfolge, ohne das Nullzeichen zu beenden. Hier geben wir die Größe des Parameters B an. Die gesamte Saite wird in "B" kopiert. Strncpy Fügt am Ende nie ein \ 0 oder Nullzeichen hinzu, wenn die Quellengröße der Zielgröße entspricht. Daher müssen wir das \ 0- oder NULL -Zeichen am Ende unseres Charakters „B“ manuell hinzufügen.

Wenn wir uns unsere Ausgabe ansehen, haben wir unseren Stringwert von einem Zeichen zum anderen kopiert. Deshalb haben wir unsere Ausgabe als "großartig".

Beispiel # 3:

In der nachstehenden Codeprobe verwenden wir die Methode, um das Array auf einen konstanten angegebenen Wert kopieren zu lassen. Dazu werden wir zuerst unsere beiden String -Variablen mit einem Zeichenarray auf eine bestimmte Länge deklarieren: „Stringa“ mit einer Länge von 20 und „StringB“ mit einer Länge der Größe 25. Mithilfe der Methode haben wir unserem Quellarray keine Zeichenfolge zugewiesen Strcpy. Wir werden die Zeichenfolge manuell in die Quellvariable "StringB" einfügen. Rufen Sie dann unsere STRNCPY -Funktion auf, in der das erste Argument die Zielvariable und die zweite eine Quellvariable ist. Wir weisen aber auch den Wert unserer Quelle zu, indem wir unsere verwenden strncpy Funktion.

In Zeile 6 führen wir eine vollständige Kopie unseres Zeichens durch, um unsere Quelle den Wert zuzuweisen. Nachdem wir den Wert zugewiesen haben, haben wir den StringB -Wert auf Stringa kopiert, der unser Ziel ist. Wir haben ihm eine Länge von 7 gegeben, was bedeutet, dass es nur die ersten 7 Zeichen unserer Quellzeichenfolge kopiert.

Wir verwendeten printf () Anweisung, eine zum Drucken unseres Quellwerts und der andere, um unseren Zielwert zu drucken. Wie wir in unserer Ausgabe sehen können, beträgt der Stringa -Wert nur 7 Zeichen, da wir beim Kopieren eine Länge von 7 gegeben haben. Stringb druckte die vollständige Zeichenfolge, weil wir verwendet haben Strcpy anstatt strncpy Funktion, die die gesamte Zeichenfolge kopierte.

Abschluss

In diesem Leitfaden haben wir die Funktion der C -Sprache von crncpy () gelernt. Sie können mehr über die Funktion der CRNCPY () der C -Bibliothek untersuchen, indem Sie mehrere Beispiele verwenden. Sie können ein noch besseres Verständnis erlangen, indem Sie sie implementieren. Es ermöglichte uns, einen einzelnen Zeichenfolge in einem Code mehrmals zu verwenden, anstatt ihn immer wieder zu schreiben. Durch die nur einer Variablen zugewiesenen Variablen reduziert die Komplexität der Wiederholungswerte.