Beliebte Stringfunktionen in C [mit Beispielen]

Veröffentlicht: 2020-10-21

Strings in der C-Sprache sind ein Array von Zeichen, die mit Nullzeichen ('\0') enden. Das Nullzeichen am Ende einer Zeichenfolge zeigt ihr Ende an und die Zeichenfolgen sind immer in doppelte Anführungszeichen eingeschlossen. In der Sprache C werden Zeichen in einfache Anführungszeichen gesetzt. Einige Beispiele für beide sind unten gezeigt;

Beispiel oder Darstellung von C-Zeichen und -Strings

  • char string[10] = { 's','d','f','d','t','j','a','\0' };
  • char string[10]="frischer";
  • char string[]="frischer";

Es gibt einen kleinen Unterschied zwischen den Deklarationen der Zeichenfolgen in den beiden obigen Anweisungen. Wie wenn wir char als string[10] deklarieren, werden 10 Byte Speicherplatz zugewiesen, um die 10 Werte von string zu halten, während wenn wir es wie string[] deklarieren, dann wird Speicher zum Zeitpunkt der Ausführung des Programms zugewiesen.

Inhaltsverzeichnis

String-Deklaration und -Initialisierung

In der C-Programmierung können die Strings wie oben gezeigt auf zwei Arten deklariert werden. In der C-Programmierung ist ein String eine Folge von Zeichen, die mit einem Null- oder '\0'-Zeichen abgeschlossen wird. Ein Beispiel dafür ist unten angegeben:

char temp[]="temp string";

Wenn eine Zeichenfolge vom Typ char deklariert wird, die in doppelte Anführungszeichen eingeschlossen ist, wird automatisch \0 an das Ende der Zeichenfolge angehängt. Zum Beispiel:

char temp[]="temp string";

T e m P S T R ich n g \0

String-Deklaration

Ein String in Sprache C wird folgendermaßen deklariert:

Zeichentemp[5];

s[0] s[1] s[2] s[3] s[4]

Auf diese Weise können wir einen String der Länge 5 initialisieren.

String-Initialisierung

Die String-Initialisierung kann auf viele Arten erfolgen und einige davon sind unten aufgeführt:

char t[]="temp string";

char t[10]="temp string";

char t[]={'t','e','m', 'd','\0'};

char t[5]={'t','e','m', 'd','\0'};

T e m P \0

t[0] t[1] t[2] t[3] t[4]

In der obigen Art der Deklaration können wir nur die Zeichenfolgen speichern, die nur vier Zeichen haben, während Sie, wenn Sie fünf Zeichen in einer solchen Zeichenfolge oder einem solchen Array speichern möchten, möglicherweise ein Zeichen-Array mit größerer Länge benötigen.

Lesen: String-Array in Java: Java-String-Array mit Codierungsbeispielen

Zeichenfolgen Werte zuweisen

Arrays und Strings unterstützen die Zuweisungsoperatoren nicht. Sobald die Zeichenfolgen deklariert sind, können Sie die Werte nicht den Variablen vom Typ Zeichenfolge zuweisen. Zum Beispiel können wir in der C-Sprache die Werte nicht wie folgt schreiben und zuweisen:

Zeichen t[100];

t=“Temp. Wert“;

Stringbehandlung in C

Jetzt werden wir einige der beliebten String-Funktionen in C eintragen , die die Handhabung von Strings erheblich vereinfachen. Mehrere Operationen an der Zeichenfolge wie Lesen der Zeichenfolge, Kopieren oder Umkehren der Zeichenfolge und viele andere Operationen können mit diesen Funktionen problemlos an den Zeichenfolgen ausgeführt werden.

Zeichenkettenoperatoren oder Zeichenkettenfunktionen können direkt verwendet werden, um die Zeichenketten zu manipulieren. Hier, in diesem Artikel, erklären wir die Bibliotheksfunktionen wie gets(), puts(), strlen(), strcopy() und viele andere, um die Handhabung von Strings in C zu erklären.

Manchmal müssen Programmierer die Zeichenfolgenfunktionen schreiben, um sie gemäß dem erforderlichen Problem zu manipulieren. Die String-Manipulation kann jedoch manuell durchgeführt werden, aber dies kann die Programmierung ziemlich komplex und umfangreich machen.

Es gibt eine Standardbibliothek von String-Funktionen in C , die als „string.h“ bekannt ist. Diese Header-Datei mit der Erweiterung „.h“ hat viele String-Handling-Funktionen mit unterschiedlicher Syntax. Wir werden einige davon im folgenden Abschnitt dieses Artikels besprechen:

Liste einiger gängiger String-Handling-Funktionen in C

Funktion Beschreibung
strlen() Kann die Länge der Zeichenfolge berechnen
Strcpy() Kann den Inhalt einer Zeichenfolge in eine andere kopieren
Strcat() Wird verwendet, um zwei Zeichenfolgen zu verketten oder zu verbinden
Strcmp() Kann zwei Strings vergleichen
Strlwr() Kann die Zeichenfolge in Kleinbuchstaben konvertieren
Strupr() Wird verwendet, um die Buchstaben einer Zeichenfolge in Großbuchstaben umzuwandeln
Strrev() Wird verwendet, um die Zeichenfolge umzukehren

Wenn Sie eine der String-Handling-Funktionen in Ihrem Programm verwenden müssen, sind die Funktionen nicht nur auf diese vielen beschränkt. Es gibt auch viele andere Funktionen. Also, lasst uns darüber diskutieren:

1) puts() und gets()

Die beiden beliebten Funktionen der String-Header-Datei Gets und Puts werden verwendet, um die Eingabe des Benutzers entgegenzunehmen und den String anzuzeigen. Diese beiden Funktionen sind in der Datei string.h definiert. Sehen wir uns ein Beispiel dieser Funktionen an:

#include main()

Int Haupt()

{

Zeichentemp[20];

printf("Geben Sie Ihren Namen ein");

bekommt (temp);

printf("Mein Name ist: ");

setzt (temp);

0 zurückgeben;

}

2) strcat()

Für die Fälle, in denen eine Zeichenfolge an das Ende einer anderen Zeichenfolge angehängt werden muss, wird diese Funktion verwendet. Die Funktion strcat kann eine Kopie der Quellzeichenfolge am Ende der Zielzeichenfolge anhängen. Der Benutzer muss zwei Argumente übergeben, die im Folgenden beschrieben werden:

i) Quelle

ii) Ziel

Hier wird an der Stelle von „src“ der String angegeben, während an der Stelle von „dest“ der Zielstring angegeben wird, an den wir den Quellstring anhängen müssen.

Beispiel

#include<string.h>

int Haupt()

{

char src[20]= „vorher“;

char dest[20]= „nach“;

strcat(ziel, Quelle);

stellt (Ziel);

0 zurückgeben;

}

Die Ausgabe wird sein: nachher vorher

3) Funktion strlen()

Eine weitere Funktion der String-Header-Datei, die direkt für die Strings verwendet werden kann, ist strlen(). Sie können die Funktion strlen(), die String-Funktion in C , verwenden , wenn Sie die Länge eines beliebigen Strings herausfinden müssen. Man kann jedoch auch manuell ein Programm schreiben, um die Länge einer beliebigen Zeichenfolge herauszufinden, aber die Verwendung dieser Direktfunktion kann Ihre Zeit sparen, und das Beispiel ist unten angegeben:

#include<stdio.h>

int Haupt()

{

int-Länge;

char s[20] = „Wir sind hier“;

length=strlen(s);

printf(“\Länge des Strings ist = %d \n”, Länge);

0 zurückgeben;

}

Länge der Zeichenfolge ist = 11

4) Funktion strcpy()

Wenn Sie den Inhalt einer Zeichenfolge in eine andere Zeichenfolge kopieren müssen, wird diese Funktion verwendet. Syntax der Funktion ist strcpy(dest,source). Die Funktion kann den Inhalt einer Zeichenfolge in eine andere kopieren. Ein Beispiel für die Funktion ist unten angegeben:

#include<string.h>

int Haupt()

{

char src[20]= „Ziel“;

char dest[20]= „“;

printf(“\n Quellstring ist = %s”, src);

printf(“\n Ziel-String ist = %s”, dest);

strcpy(Ziel, Quelle);

printf („\nZielstring nach strcpy() = %s“, dest);

0 zurückgeben;

}

Ausgabe

Quellzeichenfolge ist = Ziel

Zielstring ist =

Zielstring nach strcpy() = Ziel

Lernen: StringBuffer vs. StringBuilder: Unterschied zwischen StringBuffer und StringBuilder

5) Funktion strcmp()

Um zwei Strings zu vergleichen, um zu wissen, ob sie gleich sind oder nicht, können wir die Funktion strcmp() verwenden. Die Funktion gibt einen bestimmten Wert zurück, der entweder 0, >0 oder <0 sein kann. In dieser Funktion werden die beiden übergebenen Werte als Groß-/Kleinschreibung behandelt, dh 'A' und 'a' werden als unterschiedliche Buchstaben behandelt. Die von der Funktion zurückgegebenen Werte werden verwendet als:

i) 0 wird zurückgegeben, wenn zwei Strings gleich sind

ii) Wenn str1 < str2, dann wird ein negativer Wert zurückgegeben

iii) Wenn str1 > str2, dann wird ein positiver Wert zurückgegeben

Beispiel:

#include<stdio.h>

#include<string.h>

int Haupt()

{

char str1[]="kopieren";

char str2[]="Trophäe";

int I,j,k;

i=strcmp(str1, „kopieren“);

j=strcmp(str1, str2);

k-strcmp(str1, „f“);

printf(“\n %d %d %d”,I,j,k);

0 zurückgeben;

}

Ausgang: 0 -1 1

6) Funktionen strlwr() / strupr()

Manchmal müssen Sie möglicherweise die Kleinbuchstaben einer Zeichenfolge in Großbuchstaben umwandeln oder umgekehrt. Dazu gibt es in C zwei direkte String-Funktionen , mit denen die Konvertierungen entweder von Groß- in Kleinschreibung oder umgekehrt durchgeführt werden können. Hier haben wir ein Beispiel dafür erklärt:

#include<stdio.h>

#include<string.h>

int Haupt()

{

char str[]=”KONVERTIERE mich in Kleinbuchstaben”;

printf(“%s\n”, strlwr(str));

0 zurückgeben;

}

Ausgabe: konvertiere mich in Kleinbuchstaben

Wenn wir die strupr-Funktion anstelle von strlwr verwenden, wird der gesamte Inhalt in die Großbuchstaben umgewandelt. Wir können die strupr-Funktion verwenden, die in der String-Header-Datei definiert ist. Durch diese Funktion werden alle Buchstaben des Strings umgewandelt, auch das ohne lange manuelle Prozedur.

7) Funktion strrev()

Wenn Sie eine beliebige Zeichenfolge umkehren möchten, ohne manuell ein riesiges oder umfangreiches Programm zu schreiben, können Sie diese Funktion verwenden. Die Funktion strrev() wird verwendet, um den Inhalt des Strings umzukehren. Die Strrev-Funktion wird verwendet, um die Art der Zeichenfolge zu überprüfen, ob die angegebene Zeichenfolge ein Palindrom ist oder nicht. Es gibt auch mehrere andere Verwendungen und Anwendungen der String-Reverse-Funktion. Eine seiner Verwendungen ist unten angegeben:

#include<stdio.h>

#include<string.h>

int Haupt()

{

char temp[20]=”Umgekehrt”;

printf(“String vor dem Umkehren ist: %s\n”, temp);

printf(“String nach strrev() :%s”, strrev(temp));

0 zurückgeben;

}

Einige weitere String-Handling-Funktionen mit Zweck:

Wie wir bereits gesagt haben, gibt es mehr String-Funktionen in C. Einige andere häufig verwendete Funktionen für die String-Verarbeitung in C sind:

Funktion Zweck
strchr() Es gibt einen Zeiger auf das erste Vorkommen von char in str1 zurück
strdup() Es kann die Zeichenfolge duplizieren
strset() Setzt alle Zeichen einer Zeichenkette auf das angegebene Zeichen
strchr() Wird verwendet, um das Vorkommen eines ersten Zeigezeichens zu lokalisieren

Lesen Sie auch: Scanner-Klasse in Java: Arten von Konstruktoren und Methoden, Verwendung

Letzte Worte

Wie jede andere Sprache hat auch C eine riesige Bibliothek mit gebrauchsfertigen oder eingebauten Funktionen. Um eine beliebige Zeichenfolge zu verarbeiten, können Sie diese Funktionen direkt verwenden. Die Funktionen sind jedoch nicht auf diese beschränkt. Es gibt viele andere String-Funktionen in C in der Header-Datei. Der Hauptvorteil von ihnen besteht darin, die Zeit und Länge der Codierung zu verkürzen.

Wenn Sie mehr über Java, OOPs und Full-Stack-Softwareentwicklung erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenges Training bietet, 9 + Projekte und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Bereiten Sie sich auf eine Karriere der Zukunft vor

BRANCHENVERTRAUENSWÜRDIGES LERNEN – BRANCHENANERKANNTE ZERTIFIZIERUNG.
Erfahren Sie mehr