In diesem Artikel erfahren Sie, wie Sie in C++ int in char konvertieren. Für diese Konvertierung gibt es 5 Möglichkeiten:
- Verwendung von Typografie. Verwendung von static_cast. Verwendung von sprintf(). Verwendung von to_string() und c_str(). Stringstream verwenden.
Beginnen wir damit, jede dieser Methoden im Detail zu besprechen.
Beispiele:
rdbms-Normalisierung
Eingang: N = 65
Ausgabe: AEingang: N = 97
Ausgabe: A
1. Verwendung von Typecasting
Methode 1:
- Deklaration und Initialisierung: Zunächst deklarieren und initialisieren wir unsere Ganzzahl mit dem umzuwandelnden Wert. Typecasting: Hierbei handelt es sich um eine Technik zur Umwandlung eines Datentyps in einen anderen. Wir typisieren die Ganzzahl N und speichern ihren Wert in der Datentyp-Char-Variable c. Drucken Sie das Zeichen: Drucken Sie abschließend das Zeichen mit cout.
Unten finden Sie das C++-Programm zum Konvertieren von int in char mithilfe der Typumwandlung:
C++
// C++ program to convert> // int to char using typecasting> #include> using> namespace> std;> // Driver code> int> main()> {> >int> N = 97;> >cout <<>char>(N);> >return> 0;> }> |
>
>Ausgabe
a>
Die Zeitkomplexität ist O(1) und ein Hilfsraum ist O(1).
Methode 2:
- Deklaration und Initialisierung: Zunächst deklarieren und initialisieren wir unsere Ganzzahl mit dem umzuwandelnden Wert. Typumwandlung: Deklarieren Sie eine andere Variable als Zeichen c und weisen Sie dem C den Wert N zu. Drucken Sie das Zeichen: Drucken Sie abschließend das Zeichen mit cout.
Unten finden Sie das C++-Programm zum Konvertieren von int in char mithilfe der Typumwandlung:
C++
// C++ program to convert> // int to char using typecasting> #include> using> namespace> std;> // Driver code> int> main()> {> >int> N = 65;> >char> c = N;> >cout << c;> >return> 0;> }> |
>
>Ausgabe
A>
2. Verwendung von static_cast
Die Ganzzahl kann mit der Funktion static_cast in ein Zeichen umgewandelt werden. Unten ist das C++-Programm zum Konvertieren von int in char mithilfe von static_cast:
C++
// C++ program to convert> // int to char using static_cast> #include> using> namespace> std;> // Driver code> int> main()> {> >int> N = 65;> > >char> c =>static_cast><>char>>(N);> >cout << c;> >return> 0;> }> |
>
>Ausgabe
A>
3. Verwendung von sprintf()
Weisen Sie Platz für eine einzelne int-Variable zu, die in einen Zeichenpuffer konvertiert wird. Es ist erwähnenswert, dass das folgende Beispiel die maximale Länge Max_Digits für ganzzahlige Daten definiert. Da die Sprintf-Funktion eine mit 0 Bytes endende Zeichenfolge an das Ziel sendet, fügen wir sizeof(char) hinzu, um die Länge des Zeichenpuffers zu erhalten. Daher müssen wir sicherstellen, dass genügend Platz für diesen Puffer vorgesehen ist.
Schriftarten für Gimp
Unten ist das C++-Programm zum Konvertieren von int in char mit sprintf():
C++
// C++ program to convert> // int to char using sprintf()> #include> using> namespace> std;> #define Max_Digits 10> // Driver code> int> main()> {> >int> N = 1234;> >char> n_char[Max_Digits +> >sizeof>(>char>)];> >std::>sprintf>(n_char,> >'%d'>, N);> >std::>printf>(>'n_char: %s
'>,> >n_char);> >return> 0;> }> |
>
>Ausgabe
n_char: 1234>
4. Verwendung von to_string() und c_str()
Die Funktion to string() wandelt eine einzelne Ganzzahlvariable oder andere Datentypen in einen String um. Die c_str()-Methode wandelt einen String in ein Array von Zeichen um und endet mit einem Nullzeichen.
Unten ist das C++-Programm zum Konvertieren von int in char mithilfe von to_string() und c_str():
C++
// C++ program to convert> // int to char using sto_string()> // and c_str()> #include> using> namespace> std;> // Driver code> int> main()> {> >int> N = 1234;> >string t = to_string(N);> >char> const> *n_char = t.c_str();> >printf>(>'n_char: %s
'>,> >n_char);> >return> 0;> }> |
>
>Ausgabe
n_char: 1234>
5. Stringstream verwenden
Ein Stringstream verbindet ein String-Objekt mit einem Stream, sodass Sie daraus lesen können, als wäre es ein Stream (wie cin). Stringstream erfordert die Einbindung der Sstream-Header-Datei. Die Stringstream-Klasse ist bei der Verarbeitung von Eingaben praktisch.
Unten ist das C++-Programm zum Konvertieren von int in char mithilfe von stringstream:
MySQL-Spaltentyp ändern
C++
// C++ program to convert> // int to char using> // stringstream> #include> using> namespace> std;> #include> // Driver code> int> main()> {> >int> N = 1234;> >std::stringstream t;> >t << N;> >char> const> *n_char => >t.str().c_str();> >printf>(>'n_char: %s
'>,> >n_char);;> >return> 0;> }> |
nicht null in js
>
>Ausgabe
n_char: 1234>
Methode: Konvertieren eines int-Werts in einen char-Wert durch Addition von 0
C++
// C++ program to convert> // int to char using typecasting by adding zero> #include> using> namespace> std;> //Driver code> int> main()> {> >int> number = 65;> >char> charvalue = (>char>(number)+0);> >cout << charvalue;> >return> 0;> }> |
>
>Ausgabe
A>
Zeitkomplexität: O(1).
Nebenraum: O(1).
Ansatz: ASCII-Wert-Offset-Ansatz
Schritte:
- Nehmen Sie eine ganzzahlige Eingabe vom Benutzer.
- Überprüfen Sie, ob der Eingabewert einem gültigen Zeichen in der ASCII-Tabelle entspricht, indem Sie den Bereich des Eingabewerts überprüfen.
- Wenn der Eingabewert einem gültigen Zeichen entspricht, addieren Sie den entsprechenden Offsetwert von „0“ oder „A“ (je nach Eingabe) zum ganzzahligen Wert, um den entsprechenden Zeichenwert zu erhalten.
- Geben Sie das entsprechende Zeichen aus.
C++
boto3
#include> using> namespace> std;> int> main() {> >int> num = 65;> >cout <<>'Enter an integer: '> << num << endl;> > >char> ch;> >if>(num>= 65 && num<= 90) {> >ch = num;> >}>else> if>(num>= 97 && num<= 122) {> >ch = num;> >}>else> {> >cout <<>'Invalid input.'> << endl;> >return> 0;> >}> > >cout <<>'The corresponding character is: '> << ch << endl;> >num = 97;> >cout <<>'Enter an integer: '> << num << endl;> >if>(num>= 65 && num<= 90) {> >ch = num;> >}>else> if>(num>= 97 && num<= 122) {> >ch = num;> >}>else> {> >cout <<>'Invalid input.'> << endl;> >return> 0;> >}> >cout <<>'The corresponding character is: '> << ch << endl;> >return> 0;> }> |
>
>Ausgabe
Enter an integer: 65 The corresponding character is: A Enter an integer: 97 The corresponding character is: a>
Zeitkomplexität: O(1), da keine Schleifen beteiligt sind.
Hilfsraum: O(1), da wir nur eine einzelne Zeichenvariable zum Speichern des Ergebnisses verwenden.
Name des Ansatzes: Arithmetische Konvertierung
Schritte:
- Berechnen Sie die Anzahl der Ziffern im eingegebenen int-Wert.
- Durchlaufen Sie die Ziffern von rechts nach links, extrahieren Sie jede Ziffer und fügen Sie den ASCII-Wert „0“ hinzu, um sie in ein Zeichen umzuwandeln.
- Speichern Sie das resultierende char-Array im bereitgestellten Ausgabepuffer.
C++
#include> #include> using> namespace> std;> void> int_to_char(>int> num,>char> *result) {> >int> temp = num;> >int> len = 0;> >while> (temp>0) {> >len++;> >temp /= 10;> >}> >for> (>int> i = len - 1; i>= 0; i--) {> >result[i] = num % 10 +>'0'>;> >num /= 10;> >}> >result[len] =>' '>;> }> int> main() {> >int> num = 12345;> >char> result[100];> >int_to_char(num, result);> >cout << result << endl;> >return> 0;> }> |
>
>Ausgabe
12345>
Zeitkomplexität : O(log10 n), wobei n der eingegebene int-Wert ist.
Raumkomplexität: O(log10 n), wobei n der Eingabe-Int-Wert ist, da das Ausgabe-Char-Array gespeichert werden muss.