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

C++ Strings meistern: C-Style vs. std::string

C++ bietet zwei String-Repräsentationen:

C-Style Character String

Ursprung in C, wird in C++ weiter unterstützt. Ein eindimensionales Char-Array, terminiert durch '\0' (Null-Zeichen).

Deklaration/Initialisierung für „Hello“:

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

Kürzer (Compiler fügt '\0' automatisch an):

char greeting[] = "Hello";
C++ Strings meistern: C-Style vs. std::string
Speicherlayout eines C-Style Strings

Ausgabe

#include <iostream>
using namespace std;
int main() {
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    cout << "Greeting message: " << greeting << endl;
    return 0;
}

Ausgabe: Greeting message: Hello

Wichtige C-String-Funktionen (<cstring>)

Nr.Funktion & Zweck
1strcpy(s1, s2) – Kopiert s2 nach s1
2strcat(s1, s2) – Hängt s2 an s1 an
3strlen(s1) – Länge von s1
4strcmp(s1, s2) – Vergleich: 0=gleich, <0=s1<s2, >0=s1>s2
5strchr(s1, ch) – Pointer auf erstes Vorkommen von ch in s1
6strstr(s1, s2) – Pointer auf erstes Vorkommen von s2 in s1

Beispiel

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    char str1[10] = "Hello";
    char str2[10] = "World";
    char str3[10];
    int len;
    strcpy(str3, str1);
    cout << "strcpy: " << str3 << endl;
    strcat(str1, str2);
    cout << "strcat: " << str1 << endl;
    len = strlen(str1);
    cout << "strlen: " << len << endl;
    return 0;
}

Ausgabe:

strcpy: Hello
strcat: HelloWorld
strlen: 10

Die string-Klasse (Standard C++)

<string> bietet alle obigen Operationen plus deutlich mehr Funktionalität.

#include <iostream>
#include <string>
using namespace std;
int main() {
    string str1 = "Hello";
    string str2 = "World";
    string str3;
    int len;
    str3 = str1;
    cout << "str3: " << str3 << endl;
    str3 = str1 + str2;
    cout << "str1+str2: " << str3 << endl;
    len = str3.size();
    cout << "str3.size(): " << len << endl;
    return 0;
}

Ausgabe:

str3: Hello
str1+str2: HelloWorld
str3.size(): 10

Empfehlung: In modernem C++ std::string bevorzugen – sicherer, komfortabler, weniger fehleranfällig.

C Sprache

  1. C# Strings meistern: Grundlagen, Operationen & fortgeschrittene Techniken
  2. C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
  3. C++-Kommentare: Best Practices für lesbaren, wartbaren Code
  4. C++ Klassentemplates meistern: Ein praktischer Leitfaden
  5. Java Strings meistern: Erstellung, Methoden und Best Practices
  6. String-Repräsentationen in Java Enums meistern
  7. C++ Variablen und Datentypen: Experten‑Guide zu int, double, char, string, bool
  8. C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele
  9. C Strings einfach gemacht: Deklaration, Ein- & Ausgabe, Bibliotheksfunktionen
  10. Java Strings Klasse: String-Erstellung & Manipulation meistern