BESTE WEBSITE FÜR WEBENTWICKLER
C Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C String-Funktionen


String-Funktionen

C verfügt außerdem über viele nützliche String-Funktionen, mit denen bestimmte Operationen an Strings ausgeführt werden können.

Um sie zu verwenden, müssen Sie die Header-Datei <string.h> in Ihr Programm einbinden:

#include <string.h>

Stringlänge

Um beispielsweise die Länge einer Zeichenfolge zu ermitteln, können Sie die Funktion strlen() verwenden:

Beispiel

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));
Try it Yourself »

Im Kapitel Strings haben wir sizeof verwendet, um die Größe eines Strings/Arrays zu ermitteln. Beachten Sie, dass sich sizeof und strlen unterschiedlich verhalten, da sizeof berücksichtigt beim Zählen auch das Zeichen \0:

Beispiel

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));   // 26
printf("%d", sizeof(alphabet));   // 27
Try it Yourself »

Es ist auch wichtig, dass Sie wissen, dass sizeof immer die Speichergröße (in Bytes) und nicht die tatsächliche Stringlänge zurückgibt:

Beispiel

char alphabet[50] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));   // 26
printf("%d", sizeof(alphabet));   // 50
Try it Yourself »

Zeichenfolgen verketten

Um zwei Zeichenfolgen zu verketten (zu kombinieren), können Sie die Funktion strcat() verwenden:

Beispiel

char str1[20] = "Hello ";
char str2[] = "World!";

// Verketten Sie str2 mit str1 (ein Ergebnis wird in gespeichert str1)
strcat(str1, str2);

// Drucken Sie str1
printf("%s", str1);
Try it Yourself »

Beachten Sie, dass die Größe von str1 groß genug sein sollte, um das Ergebnis der beiden Zeichenfolgen zusammen zu speichern (20 in unserem Beispiel).


Zeichenfolgen kopieren

Um den Wert einer Zeichenfolge in eine andere zu kopieren, können Sie die Funktion strcpy() verwenden:

Beispiel

char str1[20] = "Hello World!";
char str2[20];

// Kopieren Sie str1 nach str2
strcpy(str2, str1);

// Drucken Sie str2
printf("%s", str2);
Try it Yourself »

Beachten Sie, dass die Größe von str2 groß genug sein sollte, um die kopierte Zeichenfolge zu speichern (20 in unserem Beispiel).


Strings vergleichen

Um zwei Zeichenfolgen zu vergleichen, können Sie die Funktion strcmp() verwenden.

Es gibt 0 zurück, wenn die beiden Zeichenfolgen gleich sind, andernfalls einen Wert, der nicht 0 ist:

Beispiel

char str1[] = "Hello";
char str2[] = "Hello";
char str3[] = "Hi";

// Vergleichen Sie str1 und str2 und drucken Sie das Ergebnis aus
printf("%d\n", strcmp(str1, str2));  // Gibt 0 zurück (die Zeichenfolgen sind gleich)

// Vergleichen Sie str1 und str3 und drucken Sie das Ergebnis aus
printf("%d\n", strcmp(str1, str3));  // Gibt -4 zurück (die Zeichenfolgen sind nicht gleich)
Try it Yourself »