Strdup -Funktion in der C -Sprache

Strdup -Funktion in der C -Sprache
Das Auswendiglernen und Beherrschen der Funktionen, die sich mit Strings befassen.

Zeichenfolgen sind ein wichtiger Teil der Programmierung, da sie verwendet werden, um Nachrichten an den Benutzer zu senden, die Ergebnisse anzuzeigen, die Dateien zu lesen oder ihren Pfad anzugeben. Sie sind auch die Eingabe- und Ausgabemethode, die die Interaktion zwischen dem Benutzer und dem Programm erleichtert.

In diesem Linux -Hinweis -Artikel erfahren Sie, wie Sie die Funktion strDUp () verwenden, um die Zeichenfolgen zu duplizieren. Wir werden die Syntax und die theoretische Beschreibung des Aufrufens der Methode, deren Eingabe- und Ausgabeargumente und dem akzeptierten Datentyp in jedem Fall sehen.

Anschließend wenden wir das an, was wir in den praktischen Beispielen mit Code -Snippets und Bildern gelernt haben, um Ihnen zu zeigen.

Syntax der Funktion strDUp () in der C -Sprache

char *strDup (const char *str);

Beschreibung der Funktion strdup () in der C -Sprache

Die Funktion von StrDUp () dupliziert eine Zeichenfolge. Diese Funktion dupliziert die Zeichenfolge, auf die der STR -Zeiger im Eingabeargument übergeben wird, und gibt einen Zeiger als Ergebnis auf die neue Zeichenfolge zurück.

StrDUp () gehört zur Funktion der Funktion von StrxxDUp (), die alle die Zeichenfolgen duplizieren sollen, aber jeder hat einen anderen Aufrufmodus und eine andere Funktionalität, um den jeweiligen Bedürfnissen des Programmierers zu erfüllen.

Wie alle String -Verarbeitungsfunktionen ist StrDUp () in der „String String definiert.H ”Kopfball. Um es zu verwenden, müssen Sie es wie folgt in Ihren Code aufnehmen:

#enthalten

So duplizieren Sie eine Zeichenfolge mit der Funktion StrDUp () in der C -Sprache

In diesem Beispiel verwenden wir die Funktion strDUp (), um eine Zeichenfolge zu duplizieren. Anschließend verwenden wir die Funktion printf (), um die String -Zeiger „Original“ und „Duplikat“ in der Befehlskonsole anzuzeigen.

Dazu schließen wir den „Stdio ein.H ”und„ String.H ”Header in unserem Code und definieren Sie die beiden String -Zeiger innerhalb der Haupt- () -Funktion. Der erste heißt "Original", das die "enthält"Beispiel für die Funktion strDUp ()" Ausdruck. Der zweite Zeiger wird als „Duplikat“ bezeichnet, der den Ort enthält, an dem die Funktion von strDUp () die Kopie der Originalzeichenfolge speichert.

Sobald die Zeichenfolgen, die das Programm verwendet. Anschließend verwenden wir die Funktion print (), um die String -Zeiger "Original" und "Duplicate" auf der Befehlskonsole anzuzeigen. Hier ist der Code für dieses Beispiel:

#enthalten
#enthalten
void main ()

char* original = "Beispiel für strDUp () -Funktion";
char* duplizieren;
Duplicate = strDup (original);
printf ("original:%s \ n", original);
printf ("Duplikat:%s \ n", doppelte);

Wie wir in der folgenden Abbildung sehen.

Unterschiede zwischen den Funktionen von Strdup () und StrndUp ()

Die Familie StrxxDUPX () besteht aus den folgenden Funktionen:

char *strDup (const char *s);
char *strndup (const char *s, size_t n);
char *strdupa (const char *s);
char *strndupa (const char *s, size_t n);

Die Funktionen in dieser Familie sind alle so konzipiert, dass sie die Saiten duplizieren, aber jeder von ihnen funktioniert auf andere Weise.

Wie wir gesehen haben.

Die Funktion von StrndUp () dupliziert die Zeichenfolge seines Eingabesarguments. Es kann dies vollständig oder teilweise tun.

Im Gegensatz zu StrDUp () nimmt die Funktion von StrndUp () zwei Eingabeberechnen an. Das erste Argument ist „Str“, der der Zeiger auf die zu duplizierte Zeichenfolge ist. Das zweite Argument ist „n“, eine Variable von Typ size_t, die die Anzahl der Zeichen angibt, die es kopiert.

Im folgenden Beispiel sehen wir die Verwendung der Funktion von StrndUp (), bei der nur 8 der Zeichen der ursprünglichen Zeichenfolge dupliziert werden.

#enthalten
#enthalten
void main ()

char* original = "Beispiel für strDUp () -Funktion";
char* duplizieren;
size_t n = 8;
Duplicate = Strndup (Original, n);
printf ("original:%s \ n", original);
printf ("Duplikat:%s \ n", doppelte);

Wie in der folgenden Abbildung zu sehen ist, dupliziert die Funktion von StrndUp () eine Nummer „n“ Zeichen aus dem Originalzeichenfolge.

Fehler, die durch die Funktion strDUp () generiert werden können

Der Fehler, den diese Funktion erzeugen kann, ist, dass „das System nicht genügend Speicher hat, um den Prozess auszuführen“, was auf aktuellen Systemen unwahrscheinlich ist.

Dieser Fehler ist im „Errno definiert.H ”Header und sein Code können über die globale Errno -Variable abgefragt werden. Seine Definition ist Enomem.

Abschluss

In diesem Linux -Hinweis -Artikel haben wir erläutert, wie die Funktion StrDUp () verwendet wird, die zur Familie der String -Verarbeitungsfunktionen gehört, die in der Zeichenfolge definiert sind.H Kopfball.

Wir haben uns die Syntax dieser Funktion angesehen und eine theoretische Erklärung zu ihrer Verwendung, ihren Eingangs- und Ausgangsargumenten gegeben.

Um Ihnen besser zu verstehen, wie es funktioniert, haben wir ein praktisches Beispiel mit Code und Bildern erstellt, in dem Sie sehen können, wie die Zeiger und Zeichenfolgen, die von dieser Funktion verwendet werden, und wie die Funktion genannt wird.

Wir haben Ihnen auch gezeigt, wie Sie die Funktion von StrndUp (), eine weitere Funktion aus der Familie StrxxDUPX () verwenden, so dass Sie die unterschiedlichen Möglichkeiten kennen, die die C -Sprache anbietet, um die Zeichenfolgen zu duplizieren.