Integer-Typvariablen in C++ können positive oder negative Ganzzahlwerte innerhalb eines vordefinierten Bereichs speichern. String-Variablen können Folgen aus Buchstaben, Zahlen und Sonderzeichen speichern. Es gibt viele Anwendungsfälle, in denen eine Konvertierung von int in string erforderlich ist. Wir diskutieren drei verschiedene Möglichkeiten, eine Ganzzahlvariable in eine Zeichenfolge umzuwandeln.
Wenn wir über Algorithmen sprechen, ist das ganz einfach. Wir erhalten die Eingabe in einer Integer-Variablen und konvertieren sie in eine String-Variable.
Der einfachste Weg, einen ganzzahligen Wert in C++ in einen String umzuwandeln, ist die Verwendung der to_string-Funktion. Die Funktion to_string ist standardmäßig verfügbar; sie akzeptiert einen ganzzahligen Wert als Eingabe und stellt einen Zeichenfolgenwert als Ausgabe bereit. Schauen wir uns das folgende Beispiel an, um dieses Konzept besser zu verstehen.
int ip = <integer value>; string op = std::to_string(ip);
#include <iostream> using namespace std; string solve(int ip) { //using the to_string function return to_string(ip); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " + op << endl; return 0; }
The input value is: 10 The output value is: 10
In diesem Beispiel verwenden wir die Funktion to_string, um einen ganzzahligen Wert in einen String umzuwandeln. Bei der Anzeige der Ausgabe ist Folgendes zu beachten: Wir verwenden den Einfügeoperator (<<), um ganzzahlige Werte anzuzeigen. Wenn wir jedoch eine Zeichenfolge anzeigen, verketten wir einfach den Ausgabewert mit der vorherigen Zeichenfolge, um zu beweisen, dass es sich um eine Zeichenfolge handelt. <<) 来显示整数值,但是当我们显示字符串时,我们只是将输出值与前面的字符串连接起来以证明它是一个字符串。
ostringstream ist ein String-Puffer, der eine Folge von Zeichen enthält. Bei dieser Methode geben wir den ganzzahligen Wert in das Ostringstream-Objekt ein und formatieren ihn dann in einen String.
int ip = <integer value>; ostringstream oss; oss << ip; string op = oss.str();
#include <iostream> #include <sstream> using namespace std; string solve(int ip) { //using ostringstream ostringstream oss; oss << ip; return oss.str(); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
Im vorherigen Beispiel haben wir einen ganzzahligen Wert von 10 zum Eingabewert hinzugefügt, um anzuzeigen, dass es sich um einen ganzzahligen Wert handelt, und eine Zeichenfolge „10“ zum Ausgabewert hinzugefügt, um anzuzeigen, dass es sich um einen Zeichenfolgenwert handelt.
sprintf ist eine Standardbibliotheksfunktion in C++, die formatierte Ausgaben an die Zeichenfolge str sendet. Mit der Sprintf-Funktion können wir eine Ganzzahl in einen String konvertieren.
int ip = <integer value>; char str[100]; sprintf(str, "%d", ip); string s = str;
#include <iostream> using namespace std; string solve(int ip) { char str[100]; sprintf(str, "%d", ip); string s = str; return s; } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
Dieses Beispiel ähnelt dem vorherigen Beispiel, der einzige Unterschied besteht in der Konvertierungsmethode. Um sprintf zu verwenden, müssen wir keine anderen Bibliotheken importieren.
Möglicherweise müssen wir bei verschiedenen Gelegenheiten Ganzzahlen in Zeichenfolgen konvertieren, hauptsächlich um Daten aus Berechnungen mit Funktionen auszugeben, die nur Zeichenfolgenargumente unterstützen. Die erste Methode, die wir besprochen haben, ist die einfachste, aber ab C++ 11 verfügbar. Die zweite Methode, die ostringstream verwendet, erfordert den Import eines anderen Bibliotheks-Sstreams, während die letzte Methode, die sprintf verwendet, ein Hilfszeichen oder einen Zeichenfolgenpuffer erfordert, um den ganzzahligen Wert in eine Zeichenfolge umzuwandeln. Die schnellste Methode ist die erste, aber wenn sie aufgrund eines veralteten Compilers nicht funktioniert, sollten die anderen beiden Methoden funktionieren.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Konvertieren einer Variablen vom Typ int in einen String. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!