I denne artikel lærer vi, hvordan man konverterer int til char i C++. Til denne konvertering er der 5 måder som følger:
- Brug af typecasting. Bruger static_cast. Ved hjælp af sprintf(). Brug to_string() og c_str(). Brug af stringstream.
Lad os starte med at diskutere hver af disse metoder i detaljer.
Eksempler:
Input: N = 65
Produktion: ENInput: N = 97
Produktion: -en
1. Brug af Typecasting
Metode 1:
- Erklæring og initialisering: Til at begynde med vil vi erklære og initialisere vores heltal med den værdi, der skal konverteres. Typecasting: Det er en teknik til at transformere en datatype til en anden. Vi typecaster heltal N og gemmer dets værdi i datatypen char-variabel c. Udskriv tegnet: Udskriv til sidst tegnet med cout.
Nedenfor er C++-programmet til at konvertere int til char ved hjælp af typecasting:
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;> }> |
streng til heltal i java
>
>Produktion
a>
Tidskompleksiteten er O(1) og et hjælperum er O(1).
Metode 2:
- Erklæring og initialisering: Til at begynde med vil vi erklære og initialisere vores heltal med den værdi, der skal konverteres. Typecasting: Erklær en anden variabel som karakter c og tildel værdien af N til C. Udskriv tegnet: Udskriv til sidst tegnet med cout.
Nedenfor er C++-programmet til at konvertere int til char ved hjælp af typecasting:
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;> }> |
>
>Produktion
A>
2. Brug af static_cast
Heltallet kan konverteres til et tegn ved hjælp af static_cast-funktionen. Nedenfor er C++-programmet til at konvertere int til char ved hjælp af 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;> }> |
>
>Produktion
A>
3. Brug af sprintf()
Tildel plads til en enkelt int-variabel, der vil blive konverteret til en char-buffer. Det er værd at bemærke, at det følgende eksempel definerer den maksimale længde Max_Digits for heltalsdata. Fordi sprintf-funktionen sender en char-streng, der afsluttes med 0 bytes til destinationen, tilføjer vi sizeof(char) for at få char-bufferlængden. Derfor skal vi sikre, at der er afsat plads nok til denne buffer.
Nedenfor er C++-programmet til at konvertere int til char ved hjælp af sprintf():
C++
java erstatte alle
// 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;> }> |
>
>Produktion
n_char: 1234>
4. Brug af to_string() og c_str()
Funktionen to string() transformerer en enkelt heltalsvariabel eller andre datatyper til en streng. Metoden c_str() konverterer en streng til et array af tegn, der afsluttes med et nul-tegn.
Nedenfor er C++-programmet til at konvertere int til char ved hjælp af to_string() og 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;> }> |
>
>
liste sortering javaProduktion
n_char: 1234>
5. Brug af stringstream
En strengstrøm forbinder et strengobjekt med en strøm, så du kan læse fra det, som om det var en strøm (som cin). Stringstream kræver medtagelse af sstream header-filen. Stringstream-klassen er praktisk, når du behandler input.
Nedenfor er C++-programmet til at konvertere int til char ved hjælp af stringstream:
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;> }> |
>
>Produktion
n_char: 1234>
Metode: Konvertering af int-værdi til char ved at tilføje 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;> }> |
>
>Produktion
A>
Tidskompleksitet: O(1).
Hjælpeplads: O(1).
Fremgangsmåde: ASCII værdi offset tilgang
Trin:
- Tag et heltal input fra brugeren.
- Kontroller, om inputværdien svarer til et gyldigt tegn i ASCII-tabellen, ved at kontrollere inputværdiens område.
- Hvis inputværdien svarer til et gyldigt tegn, skal du tilføje den tilsvarende forskydningsværdi '0' eller 'A' (afhængigt af inputtet) til heltalsværdien for at få den tilsvarende tegnværdi.
- Udskriv det tilsvarende tegn.
C++
hvad er tilfældet i sql
#include> using> namespace> std;> int> main() {> >int> num = 65;> >cout <<>'Enter an integer: '> << num << endl;> > >char> ch;> >if>(num>= 65 && antal<= 90) {> >ch = num;> >}>else> if>(num>= 97 && antal<= 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 && antal<= 90) {> >ch = num;> >}>else> if>(num>= 97 && antal<= 122) {> >ch = num;> >}>else> {> >cout <<>'Invalid input.'> << endl;> >return> 0;> >}> >cout <<>'The corresponding character is: '> << ch << endl;> >return> 0;> }> |
>
>Produktion
Enter an integer: 65 The corresponding character is: A Enter an integer: 97 The corresponding character is: a>
Tidskompleksitet: O(1), da der ikke er nogen sløjfer involveret.
Hjælpeplads: O(1), da vi kun bruger en enkelt tegnvariabel til at gemme resultatet.
Metodenavn: Aritmetisk konvertering
Trin:
- Beregn antallet af cifre i den indtastede int-værdi.
- Gentag gennem cifrene fra højre mod venstre, udtræk hvert ciffer og tilføj ASCII-værdien '0' for at konvertere det til et tegn.
- Gem det resulterende char-array i den medfølgende outputbuffer.
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;> }> |
>
>Produktion
12345>
Tidskompleksitet : O(log10 n), hvor n er input-int-værdien.
Rumkompleksitet: O(log10 n), hvor n er input-int-værdien, på grund af behovet for at lagre output-char-arrayet.