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

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

Was ist ein char?

Der Typ char in C++ ist ein fundamentaler ganzzahliger Datentyp, der ein einzelnes Zeichen speichert. Intern wird er als 8‑Bit‑Integer dargestellt und belegt genau ein Byte Speicher. Da es ein ganzzahliger Typ ist, kann er an arithmetischen Operationen und Vergleichen teilnehmen wie andere numerische Typen.

In diesem Tutorial lernen Sie:

ASCII – Die zugrundeliegende Kodierung

Wenn ein char‑Wert gespeichert wird, interpretiert der C++‑Compiler ihn als ASCII‑Code (American Standard Code for Information Interchange). ASCII ordnet jedem druckbaren Zeichen einen Integer‑Wert (0–127) zu. Beispielsweise entspricht der Buchstabe 'a' dem Dezimalwert 97.

Eine char‑Variable deklarieren

Zur Deklaration einer Zeichenvariablen verwenden Sie das Schlüsselwort char gefolgt von einem Namen. Optional können Sie sie mit einem Zeichenliteral in einfachen Anführungszeichen initialisieren.

char variablenName;           // Deklaration
char variablenName = 'X';     // Deklaration mit Initialisierung

Beispiel 1: char deklarieren und ausgeben

#include <iostream>
using namespace std;
int main() {
    char note = 'B';
    cout << "Ich habe eine " << note << " bekommen";
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

ASCII‑Wert eines Zeichens ausgeben

Da ein char im Grunde ein Integer ist, können Sie ihn zu int casten, um seinen ASCII‑Code zu erhalten.

Beispiel 2: Benutzereingabe und ASCII‑Ausgabe

#include <iostream>
using namespace std;
int main() {
    char ch;
    cout << "Beliebiges Zeichen eingeben: ";
    cin >> ch;
    cout << "Der ASCII‑Wert von " << ch << " ist " << int(ch);
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

Zeichen aus ASCII‑Code ausgeben

Weist man einem char‑Variable ein Integer‑Literal zu, interpretiert der Compiler diesen Integer als ASCII‑Code und speichert das entsprechende Zeichen.

Beispiel 3: ASCII zu char Konvertierung

#include <iostream>
using namespace std;
int main() {
    char x = 64, y = 66, z = 71;
    cout << x << y << z;
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

Zeichen vom Benutzer einlesen

>> liest nur das erste Nicht‑Whitespace‑Zeichen ein. Weitere Zeichen verbleiben im Eingabepuffer, bis sie eingelesen werden.

Beispiel 4: Zwei Zeichen einlesen

#include <iostream>
using namespace std;
int main() {
    cout << "Zeichenfolge eingeben: ";
    char ch;
    cin >> ch;
    cout << "Der ASCII‑Code von " << ch << " ist " << int(ch) << '\n';
    cin >> ch;
    cout << "Der ASCII‑Code von " << ch << " ist " << int(ch) << '\n';
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

Ein Zeichen in einen String konvertieren

Es gibt mehrere Techniken, ein einzelnes Zeichen in ein std::string zu verwandeln. Hier die gängigsten Ansätze.

#1 – String‑Konstruktor nutzen

string st(1, 'C');

Erzeugt einen String der Länge 1, der das Zeichen 'C' enthält.

Beispiel 5

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st(1, 'C');
    cout << "Der resultierende String ist: " << st;
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

#2 – Überladene = und += Operatoren

Ein Zeichen direkt einem String zuzuweisen oder anzuhängen ist prägnant und lesbar.

Beispiel 6

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st;
    char b = 'B';
    st = 'A';
    st += b;
    cout << "Der resultierende String ist: " << st;
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

#3 – String‑Member‑Funktionen

  • push_back(char) – Fügt ein Zeichen am Ende an.
  • append(size_t, char) – Fügt mehrere Kopien eines Zeichens an.
  • assign(size_t, char) – Ersetzt den String durch mehrere Kopien eines Zeichens.
  • insert(size_t, size_t, char) – Fügt Zeichen an einer bestimmten Position ein.

Beispiel 7

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st;
    st.push_back('A');
    cout << "push_back A ergibt: " << st << endl;
    st = "";
    st.append(1, 'C');
    cout << "append C ergibt: " << st << endl;
    st = "";
    st.assign(1, 'D');
    cout << "assign D ergibt: " << st << endl;
    st.insert(0, 1, 'E');
    cout << "insert einzelnes Zeichen ergibt: " << st << endl;
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

#4 – std::stringstream verwenden

Stream‑Operatoren sind für char überladen, was eine einfache Konvertierung in einen String erlaubt.

Beispiel 8

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
    string st;
    stringstream myst;
    myst << 'A';
    myst >> st;
    cout << "Die Konvertierung des einzelnen Zeichens liefert den String: " << st;
    return 0;
}

Ausgabe:

C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken

Wichtigste Punkte

  • Ein char ist ein 8‑Bit‑ganzzahliger Typ, der ein einzelnes Zeichen hält.
  • Er belegt ein Byte und wird als ASCII‑Code (0–127) gespeichert.
  • ASCII‑Codes lassen sich durch Cast von char zu int enthüllen.
  • Zeichen können via Konstruktoren, Zuweisungsoperatoren, Member‑Funktionen oder String‑Streams in Strings konvertiert werden.

C Sprache

  1. C++-Datentypen verstehen: Grundlagen, Modifizierer und Best Practices
  2. Java Type Casting meistern: Von Widening zu Narrowing und darüber hinaus
  3. Daten im Internet of Reliability nutzen: Strategien für effektives Management
  4. C++ do‑while‑Schleife: Syntax, Praxisbeispiele und verschachtelte Schleifen
  5. C++ Zeiger meistern: Konzepte, Beispiele & praktische Anwendungen
  6. C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
  7. C++ Structs erklärt mit praktischem Beispiel
  8. std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
  9. C++-Funktionen erklärt: Mit praktischen Code-Beispielen
  10. IoT-ROI maximieren mit Advanced Performance Monitoring