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

C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele

Was ist ein String?

Ein String ist schlicht eine Folge von Zeichen. In modernem C++ arbeitet man meist mit Objekten der Klasse std::string, die Speicherverwaltung, Größenänderung und zahlreiche nützliche Member‑Funktionen automatisch übernimmt. Das eliminiert manuelles Puffer‑Management und verringert das Risiko von Pufferüberläufen.

Zu Lehrzwecken unterstützt C++ weiterhin traditionelle C‑Style‑Null‑terminierte Zeichenarrays. Beide Ansätze haben ihre Berechtigung: std::string für die tägliche Programmierung, C‑Style‑Strings für Legacy‑APIs oder performance‑kritischen Low‑Level‑Code.

Strings deklarieren

C‑Style‑Zeichenkette

Beispiel:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

oder kürzer:

char name[] = "John"; // Compiler fügt terminierendes '\0' ein

std::string

Zur Nutzung von std::string Header einbinden und Variable deklarieren:

#include <string>
std::string name = "John";

Auf String‑Werte zugreifen

Einfaches Konsolenprogramm, das einen C‑Style‑String und einen std::string‑Wert ausgibt:

#include <iostream>
#include <string>
using namespace std;
int main() {
    char cName[5] = "John";      // C‑Style‑String
    string cppName = "Guru99";   // std::string
    cout << "C‑Style‑String: " << cName << endl;
    cout << "std::string: " << cppName << endl;
    return 0;
}

Ausgabe:

C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele

Wichtige C‑String‑Funktionen

Diese Funktionen sind im Header cstring definiert. Sie arbeiten auf C‑Style‑Strings (null‑terminierte char‑Arrays).

strcpy()

Kopiert den Quell‑String in den Ziel‑Puffer. Der Ziel‑Puffer muss groß genug sein, um den Quell‑String aufzunehmen.

strcpy(ziel, quelle); // ziel muss ausreichend Platz bieten

strcat()

Hängt den Quell‑String an das Ende des Ziel‑Strings an. Auch hier muss der Ziel‑Puffer groß genug für das Ergebnis sein.

strcat(ziel, quelle); // ziel muss ausreichend Platz bieten

strlen()

Gibt die Anzahl der Zeichen im String zurück, ohne das abschließende Null‑Byte.

size_t len = strlen(str);

strcmp()

Vergleicht zwei Strings lexikographisch. Liefert 0 bei Gleichheit, einen negativen Wert, wenn der erste String kleiner ist, und einen positiven Wert, wenn er größer ist.

int cmp = strcmp(str1, str2);

Praxisbeispiel

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    char name1[10] = "Guru99";
    char name2[10] = "John";
    char name3[20]; // groß genug für konkatenierten String
    // Kopieren
    strcpy(name3, name1);
    cout << "strcpy(name3, name1): " << name3 << endl;
    // Konkatenieren
    strcat(name1, name2);
    cout << "strcat(name1, name2): " << name1 << endl;
    // Länge
    size_t len = strlen(name1);
    cout << "strlen(name1): " << len << endl;
    // Vergleich
    int cmp = strcmp(name1, name3);
    cout << "strcmp(name1, name3): " << cmp << endl;
    return 0;
}

Ausgabe:

C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele

Fazit

C Sprache

  1. Java Strings meistern: Erstellung, Methoden und Best Practices
  2. String-Repräsentationen in Java Enums meistern
  3. C++ Variablen und Datentypen: Experten‑Guide zu int, double, char, string, bool
  4. C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
  5. C++ do‑while‑Schleife: Syntax, Praxisbeispiele und verschachtelte Schleifen
  6. C++ Zeiger meistern: Konzepte, Beispiele & praktische Anwendungen
  7. C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken
  8. C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
  9. C++-Funktionen erklärt: Mit praktischen Code-Beispielen
  10. C Strings einfach gemacht: Deklaration, Ein- & Ausgabe, Bibliotheksfunktionen