Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C-Strings: Wie null-terminierte Zeichenarrays funktionieren

Strings in C sind tatsächlich eindimensionale Arrays von Zeichen, die durch ein Nullzeichen '\0' terminiert werden. Ein null-terminierter String enthält also die Zeichen des Strings gefolgt von einem Nullzeichen.

Die folgende Deklaration und Initialisierung erstellt einen String mit dem Wort „Hello“. Um das Nullzeichen am Ende aufzunehmen, ist die Größe des Zeichenarrays um eins größer als die Anzahl der Buchstaben in „Hello“.

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Wenn Sie die Array-Initialisierungsregel befolgen, können Sie auch schreiben:

char greeting[] = "Hello";

Der C-Compiler setzt das '\0' automatisch am Ende des Strings, wenn er das Array initialisiert.

Beispiel: String ausgeben

#include <stdio.h>
int main() {
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    printf("Grußbotschaft: %s\n", greeting);
    return 0;
}

Ausgabe: Grußbotschaft: Hello

Wichtige String-Funktionen

C unterstützt eine Vielzahl von Funktionen zur Manipulation null-terminierter Strings (in <string.h>):

Nr.Funktion & Zweck
1strcpy(s1, s2) – Kopiert String s2 in s1.
2strcat(s1, s2) – Hängt String s2 an s1 an.
3strlen(s1) – Gibt die Länge von s1 zurück (ohne '\0').
4strcmp(s1, s2) – Vergleicht Strings: 0 wenn gleich, <0 wenn s1<s2, >0 wenn s1>s2.
5strchr(s1, ch) – Gibt Zeiger auf erstes Vorkommen von ch in s1 zurück.
6strstr(s1, s2) – Gibt Zeiger auf erstes Vorkommen von s2 in s1 zurück.

Beispiel: String-Funktionen verwenden

#include <stdio.h>
#include <string.h>

int main() {
    char str1[12] = "Hello";
    char str2[12] = "World";
    char str3[12];
    int len;

    strcpy(str3, str1);
    printf("strcpy(str3, str1): %s\n", str3);

    strcat(str1, str2);
    printf("strcat(str1, str2): %s\n", str1);

    len = strlen(str1);
    printf("strlen(str1): %d\n", len);

    return 0;
}

Ausgabe:

strcpy(str3, str1): Hello
strcat(str1, str2): HelloWorld
strlen(str1): 10

Weitere nützliche String-Funktionen

Wichtiger Hinweis: Viele der klassischen String-Funktionen (wie strcpy, strcat) sind unsicher bei Pufferüberläufen. In modernem C sollten Sie sicherere Alternativen wie strncpy, snprintf oder strlcpy/strlcat (BSD) verwenden.

C Sprache

  1. C# Strings meistern: Grundlagen, Operationen & fortgeschrittene Techniken
  2. Java Strings meistern: Erstellung, Methoden und Best Practices
  3. String-Repräsentationen in Java Enums meistern
  4. String-Listen in VHDL erstellen: Best Practices & Beispiel
  5. C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele
  6. C Strings einfach gemacht: Deklaration, Ein- & Ausgabe, Bibliotheksfunktionen
  7. Java String.charAt(): Syntax, Rückgabetyp, Exceptions und praktisches Beispiel
  8. Java String.endsWith(): String-Suffixe prüfen mit Beispielen
  9. Python String-Operationen meistern: Replace, Join, Split, Reverse und Case Conversion
  10. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen