c character conversion functions
Dieses Tutorial behandelt C ++ - Zeichenkonvertierungsfunktionen wie die Konvertierung eines Zeichens in eine Ganzzahl oder ein String- und Zeichenarray in einen String mit Codebeispielen:
In C ++ wird es bei der Entwicklung von Anwendungen mit vielen Typen erforderlich, von einem Typ in einen anderen zu konvertieren. In unseren früheren Tutorials haben wir bereits einige grundlegende Typkonvertierungen gesehen.
Wir haben auch String-Konvertierungen und Konvertierungen von numerischen Typen in Strings gesehen. Abgesehen von den Zeichenfolgenkonvertierungsfunktionen, die wir bereits gesehen haben, gibt es einige Funktionen, mit denen ein Zeichen in andere Datentypen konvertiert wird.
Dies sind die Funktionen, die ein einzelnes Zeichen oder ein Zeichenarray aufnehmen und dann in andere Datentypen konvertieren.
=> Lesen Sie die Easy C ++ - Schulungsserie durch.
Was du lernen wirst:
- C ++ - Zeichenkonvertierungsfunktionen
- Fazit
C ++ - Zeichenkonvertierungsfunktionen
Wenn es um die Konvertierung einzelner Zeichen in eine Ganzzahl oder einen String und die Konvertierung eines Zeichenarrays in einen String geht, ändern sich die Konvertierungsfunktionen geringfügig von denen der Konvertierungsfunktionen für Strings.
ios Interview Fragen und Antworten für erfahrene PDF
In diesem Tutorial werden die folgenden Konvertierungen erläutert:
- Konvertierung von Zeichen in Ganzzahlen (char in int C ++)
- Konvertierung von Zeichen in Zeichenfolgen (Zeichen in Zeichenfolgen C ++)
- Konvertierung des Zeichenarrays in einen String
Die ersten beiden Konvertierungen befassen sich mit einem einzelnen Zeichen, während die letzte Konvertierung ein Zeichenarray umfasst.
Zeichen in Ganzzahl konvertieren - Zeichen in int
Um ein einzelnes Zeichen in einen Ganzzahltyp zu konvertieren, haben wir zwei Methoden, wie unten angegeben:
# 1) Durch Casting
Wir können die Casting-Operation verwenden, um ein einzelnes Zeichen in sein ganzzahliges Äquivalent umzuwandeln. In diesem Fall wird das ASCII-Äquivalent des Zeichens angezeigt.
Betrachten Sie die folgende Konvertierung:
char a = 'A'; int num = (int) a;
In diesem Fall hat 'num' den Wert 65, der dem ASCII-Äquivalent des Zeichens 'A' entspricht.
Alternativ können wir die folgende Operation verwenden, wenn wir ein Zahlenzeichen in einen ganzzahligen Wert konvertieren möchten.
char a = '2'; int num = a-48;
Hier ist 48 der ASCII-Wert von 0. Was hier gemacht wird, ist die zweite Zeile a-48, die char a implizit in sein ASCII-Äquivalent konvertiert und es dann von 48 (50-48) subtrahiert, was zu einem ganzzahligen Wert 2 führt.
# 2) Verwenden von Stringstream
Wie bereits im Tutorial zu Zeichenfolgenkonvertierungsfunktionen gezeigt, können wir ein einzelnes Zeichen, das als Zeichenfolgenstromobjekt dargestellt wird, in eine Ganzzahl oder einen beliebigen numerischen Wert konvertieren.
Im Folgenden finden Sie einen Code, der dies demonstriert.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< Ausgabe:
Umgerechneter Wert von Zeichen 5: 5
Zeichen in Zeichenfolge konvertieren - Zeichen in Zeichenfolge
Es gibt verschiedene Möglichkeiten, wie wir ein einzelnes Zeichen in eine Zeichenfolge konvertieren können.
Lassen Sie uns einige dieser Methoden diskutieren.
# 1) Verwenden eines von der String-Klasse bereitgestellten Konstruktors.
Funktionsprototyp: Zeichenfolge s (int n, char x);
Parameter:
n => Größe der zu generierenden Zeichenfolge.
x => Zeichen, das in eine Zeichenfolge konvertiert werden soll.
Rückgabewert: s durch Umwandlung des Charakters erhalten.
Beschreibung: Der Konstruktor der Zeichenfolgenklasse nimmt die Länge der Zeichenfolge (n) und ein einzelnes Zeichen als Parameter und konvertiert das Zeichen dann in eine Zeichenfolge.
Im Folgenden finden Sie ein einfaches Beispiel, um die Konvertierung eines einzelnen Zeichens in eine Zeichenfolge zu demonstrieren.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< Ausgabe:
Die Zeichenfolge, die durch Konvertieren eines einzelnen Zeichens erhalten wird: A.
Die obige Konvertierung ist einfach. Wir rufen den String-Konstruktor auf und geben die Länge des Strings (erster Parameter) als 1 an, da wir ein einzelnes Zeichen konvertieren und der zweite Parameter das Zeichen ist, das in einen String konvertiert werden soll (in diesem Fall 'A').
# 2) Verwenden von std :: string Operator = And + =
Die Klassenoperatoren std :: string = und + = sind für Zeichen überladen. Mit diesen Operatoren können wir also ein einzelnes Zeichen in einen String konvertieren.
Dies wird in dem unten gezeigten Programm demonstriert.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< Ausgabe:
Die Zeichenfolge, die durch Konvertieren eines einzelnen Zeichens erhalten wird: CB
In diesem Programm haben wir beide überladenen Operatoren = und + = verwendet. Wir haben ein String-Objekt deklariert und ihm dann mit dem Operator = ein Zeichen zugewiesen. Als nächstes verwenden wir den Operator + = und weisen dem String-Objekt ein weiteres Zeichen zu.
Wir sehen, dass das Zeichen beim zweiten Mal tatsächlich mit dem bereits vorhandenen Inhalt im Zeichenfolgenobjekt verknüpft wird.
# 3) Verwenden verschiedener Methoden von std :: string
Die Klasse std :: string unterstützt verschiedene überladene Methoden, mit denen wir ein Zeichen an einen String übergeben können, der letztendlich ein Zeichen in einen String konvertiert.
Einige der Methoden der Klasse std :: string sind:
- push_back
Funktionsprototyp: void push_back (char c)
Parameter: c => Zeichen, das der Zeichenfolge zugewiesen werden soll
Rückgabewert: gibt void zurück
Beschreibung: Diese Funktion ist für Zeichen überladen und weist dem Ende der Zeichenfolge ein Zeichen zu.
- anhängen
Funktionsprototyp: string & append (size_t n, char c)
Parameter:
n => Häufigkeit, mit der das Zeichen angehängt werden soll.
c => Zeichen, das an die Zeichenfolge angehängt werden soll.
Rückgabewert: Zeichenfolge durch Konvertierung des Zeichens erhalten.
Beschreibung: Die Append-Funktion von std :: string akzeptiert zwei Argumente. Das erste Argument gibt an, wie oft das Zeichen in die Zeichenfolge kopiert werden soll. Das zweite Argument ist das tatsächlich zu kopierende Zeichen. Die Append-Funktion weist der Zeichenfolge also die vielen Zeichenkopien zu, wie im ersten Argument angegeben.
- zuordnen
Funktionsprototyp: string & assign (size_t n, char c);
Parameter:
n => Anzahl der Kopien des Zeichens.
c => Zeichen, das in eine Zeichenfolge kopiert werden soll.
Rückgabewert: Zeichenfolge durch Konvertierung des Zeichens erhalten.
Beschreibung: Die Zuweisungsfunktion ersetzt den aktuellen Zeichenfolgeninhalt durch n Kopien (erstes Argument) des Zeichens (zweites Argument).
- einfügen
Funktionsprototyp: string & insert (size_t pos, size_t n, char c);
Parameter:
pos => Position, an deren Anfang Zeichen eingefügt werden sollen.
n => Anzahl der Kopien des Zeichens.
c => Zeichen, das in die Zeichenfolge eingefügt werden soll.
Rückgabewert: Zeichenfolge durch Konvertierung des Zeichens erhalten.
Beschreibung: Diese Funktion fügt n (zweites Argument) Kopien des Zeichens (drittes Argument) an der Anfangsposition der durch pos (erstes Argument) angegebenen Zeichenfolge ein.
Als nächstes werden wir ein Programm entwickeln, das alle oben genannten Funktionen der Klasse std :: string demonstriert.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< Ausgabe:
push_back Einzelzeichen: A.
Einzelzeichen anhängen: C.
Einzelzeichen zuweisen: D.
Einzelzeichen einfügen: BD
Das obige Programm demonstriert die Funktionen push_back, append, assign und insert. Die Ausgabe zeigt das Ergebnis oder die von jeder Funktion zurückgegebene Zeichenfolge.
# 4) Verwenden von std :: stringstream
Wir haben bereits die Konvertierung numerischer Typen in einen String mit stringstream diskutiert. Die Konvertierung von Zeichen in einen String folgt ebenfalls dem gleichen Prinzip, wenn eine Stringstream-Klasse verwendet wird.
Das angegebene Zeichen wird in den Stream eingefügt und der Inhalt in die Zeichenfolge geschrieben.
Lassen Sie uns dies mit einem C ++ - Programm klarstellen.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< Ausgabe:
Die Zeichenfolge, die durch Konvertieren eines einzelnen Zeichens erhalten wird: A.
Wir fügen zuerst das Zeichen in das Stream-Objekt ein und dann wird dieser Puffer in das String-Objekt geschrieben. Somit zeigt die Ausgabe des Programms den Inhalt des Zeichenfolgenobjekts, das ein einzelnes Zeichen ist.
Zeichenarray in Zeichenfolge konvertieren
Die Klasse std :: string verfügt über viele Methoden, die beim Umgang mit Zeichenarrays nützlich sein können. Daher ist es ratsam, Zeichenarrays in Zeichenfolgenobjekte zu konvertieren und sie dann zu verwenden, damit wir effiziente Programme schreiben können.
Es gibt zwei Methoden, um das Zeichenarray wie unten gezeigt in eine Zeichenfolge zu konvertieren.
# 1) Verwenden des String-Konstruktors
Wie bereits für die Konvertierung eines einzelnen Zeichens in eine Zeichenfolge erläutert, können wir den Zeichenfolgenkonstruktor verwenden, um ein Zeichenarray in eine Zeichenfolge zu konvertieren.
Funktionsprototyp: Zeichenfolge (const char * s);
Parameter: s => nullterminiertes Zeichenarray, das in eine Zeichenfolge konvertiert werden soll
Rückgabewert: Zeichenfolge => konvertierte Zeichenfolge
Beschreibung: Dieser überladene Konstruktor der Klasse std :: string verwendet das Zeichenarray oder die C-Zeichenfolge als Argument und gibt die Zeichenfolge zurück.
Das folgende Programm demonstriert diese Konvertierung.
#include #include using namespace std; int main() { char myarray[] = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< Ausgabe:
Konvertierte Zeichenfolge: Hilfe zum Testen von Software
Das obige Programm ist recht einfach. Es ist nur ein Aufruf des Konstruktors std :: string erforderlich, um das angegebene Zeichenarray in einen String umzuwandeln.
# 2) Using = Overloaded Operator
Ein anderer Ansatz zum Konvertieren eines Zeichenarrays in ein Zeichenfolgenobjekt ist die Verwendung eines überladenen Operators =. In diesem Fall können wir das Zeichenarray mit dem Operator = direkt dem Zeichenfolgenobjekt zuweisen, und der Inhalt wird an die Zeichenfolge übergeben.
Das folgende Beispiel zeigt dies.
#include #include using namespace std; int main() { char myarray[] = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< Ausgabe:
Konvertierte Zeichenfolge: Hilfe zum Testen von Software
Das obige Programm weist das Array mit dem Operator = direkt einem Zeichenfolgenobjekt zu, wodurch der Inhalt des Zeichenarrays in das Zeichenfolgenobjekt kopiert wird.
Fazit
Wir haben verschiedene Methoden gesehen, um ein einzelnes Zeichen sowie Zeichenarrays in Zeichenfolgenobjekte zu konvertieren. Da die std :: string-Klasse viele Funktionen hat, mit denen wir die Zeichenfolgen effizient bearbeiten können, ist es immer hilfreich, mit Zeichendaten zu arbeiten, indem Sie sie zuerst in Zeichenfolgen konvertieren.
Weiterführende Literatur = >> Konvertieren Sie Char in Java in Int
Weiterführende Literatur = >> Konvertieren Sie Char in Java in String
Wir können auch Klassenmethoden verwenden, um Zeichendaten in Zeichenfolgen umzuwandeln. Dabei fügen wir zuerst die Daten in den Stream ein und schreiben diesen Puffer dann in ein String-Objekt.
In unseren nachfolgenden Tutorials werden wir eine Stringstream-Klasse und weitere Bibliotheksfunktionen in C ++ ausführlich behandeln.
=> Hier finden Sie A-Z der C ++ - Schulungsanleitungen.
Literatur-Empfehlungen
- Python-String-Funktionen
- Java String mit String Buffer und String Builder Tutorial
- C ++ - Zeichenklassifizierungs- und Transformationsfunktionen
- VBScript-Zeichenfolgenfunktionen: VBScript inStr-, Replace-, Mid- und Trim-Funktionen
- Python String Split Tutorial
- C # String Tutorial - String-Methoden mit Codebeispielen
- Zeichenfolgen in C ++ mit Beispielen
- Bibliotheksfunktionen in C ++