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

C Strings einfach gemacht: Deklaration, Ein- & Ausgabe, Bibliotheksfunktionen

Was ist ein String in C?

Ein String in C ist eine zusammenhängende Folge von Zeichen, die durch das Null-Zeichen (\0) terminiert wird. Obwohl die Sprache keinen dedizierten String-Typ hat, wird ein String meist als Array von char-Werten dargestellt. Der Compiler fügt den Null-Terminator automatisch an, wenn Sie einen String-Literal initialisieren.

"Welcome to the world of programming!"

Der Standardbibliotheks-Header <string.h> bietet eine Fülle von Funktionen für effiziente String-Manipulation.

Strings deklarieren und initialisieren

Da C einen String als Zeichen-Array behandelt, müssen Sie die Array-Größe angeben. Die Größe definiert die maximale Anzahl an Zeichen (ohne Null-Terminator), die gespeichert werden können.

char string_variable_name[array_size];

Typische Deklarationen:

char first_name[15]; /* hält bis zu 14 Zeichen + \0 */
char last_name[15];

Wenn Sie einen Initialisierer angeben, zählt der Compiler die Zeichen und fügt den Null-Terminator automatisch hinzu. Die Array-Größe kann weggelassen werden, wenn Sie einen Initialisierer geben.

char first_name[15] = "ANTHONY";
char first_name[] = "NATHAN"; /* Größe wird inferiert */
char string3[6] = {'h','e','l','l','o','\0'}; /* expliziter Terminator */

Strings vom Benutzer einlesen

Eingabe-Funktionen variieren in Sicherheit und Verhalten:

Beispiel mit fgets:

#include <stdio.h>
int main() {
    char name[50];
    printf("Enter your full name: ");
    fgets(name, sizeof(name), stdin);
    printf("Your name is %s", name);
    return 0;
}

Strings ausgeben

Der klassische Weg, einen String anzuzeigen, ist printf("%s", name);. Zwei praktische Alternativen:

Beispiel mit puts:

#include <stdio.h>
int main() {
    char greeting[] = "Hello, world!";
    puts(greeting);
    return 0;
}

Die String-Bibliothek (<string.h>)

Häufig verwendete Funktionen:

FunktionBeschreibung
strlenGibt die Länge eines Strings zurück (ohne Null-Terminator).
strcatHängt einen String an einen anderen an.
strcmpVergleicht zwei Strings lexikographisch.
strcpyKopiert einen String.
strncmpVergleicht bis zu n Zeichen.
strncpyKopiert bis zu n Zeichen.
strchrFindet erstes Vorkommen eines Zeichens.
strrchrFindet letztes Vorkommen eines Zeichens.
strstrFindet einen Substring.
strncatVerkettet bis zu n Zeichen.
strlwrKonvertiert zu Kleinbuchstaben (nicht Standard).
struprKonvertiert zu Großbuchstaben (nicht Standard).
strrevKehrt einen String um (nicht Standard).

Illustratives Programm:

#include <stdio.h>
#include <string.h>
int main() {
    char str1[20] = "Hello";
    char str2[20] = " World!";
    char result[40];
    /* Vergleich */
    if (strcmp(str1, str2) == 0) puts("Strings are equal");
    else puts("Strings are not equal");
    /* Konkatenation */
    strcat(str1, str2); // str1 enthält nun "Hello World!"
    printf("Concatenated: %s\n", str1);
    /* Länge */
    printf("Length of str1: %zu\n", strlen(str1));
    /* Kopie */
    strcpy(result, str1);
    printf("Copied string: %s\n", result);
    return 0;
}

String in Zahl konvertieren

Standard-Konvertierungen:

Beispiel mit atoi:

#include <stdio.h>
#include <stdlib.h>
int main() {
    char number_str[20];
    printf("Enter a number: ");
    fgets(number_str, sizeof(number_str), stdin);
    int num = atoi(number_str);
    printf("You entered %d\n", num);
    return 0;
}

Wichtigste Erkenntnisse

C Sprache

  1. Java Strings meistern: Erstellung, Methoden und Best Practices
  2. String-Repräsentationen in Java Enums meistern
  3. String-Listen in VHDL erstellen: Best Practices & Beispiel
  4. C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
  5. C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele
  6. realloc() in C: Syntax, Best Practices & Beispiel
  7. C's free() Funktion meistern: Praktischer Leitfaden & Beispiel
  8. Java String length() Methode: String-Länge ermitteln (Beispiel)
  9. Python String-Operationen meistern: Replace, Join, Split, Reverse und Case Conversion
  10. Java Strings Klasse: String-Erstellung & Manipulation meistern