logo

C++ Program For int til char-konvertering

I denne artikkelen vil vi lære hvordan du konverterer int til char i C++. For denne konverteringen er det 5 måter som følger:

    Bruker typecasting. Bruker static_cast. Bruker sprintf(). Bruke to_string() og c_str(). Bruker stringstream.

La oss starte med å diskutere hver av disse metodene i detalj.



Eksempler:

Inndata: N = 65
Produksjon: EN

Inndata: N = 97
Produksjon: en



1. Bruke Typecasting

Metode 1:

    Erklæring og initialisering: Til å begynne med vil vi deklarere og initialisere vårt heltall med verdien som skal konverteres. Typecasting: Det er en teknikk for å transformere en datatype til en annen. Vi typecaster heltall N og lagrer verdien i datatypen char-variabel c. Skriv ut tegnet: Skriv til slutt ut tegnet med cout.

Nedenfor er C++-programmet for å konvertere int til char ved hjelp av 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 heltall i java
>

>

Produksjon

a>

Tidskompleksiteten er O(1) og et hjelperom er O(1).

Metode 2:

    Erklæring og initialisering: Til å begynne med vil vi deklarere og initialisere vårt heltall med verdien som skal konverteres. Typecasting: Deklarer en annen variabel som tegn c og tilordne verdien av N til C Skriv ut tegnet: Skriv til slutt ut tegnet med cout.

Nedenfor er C++-programmet for å konvertere int til char ved hjelp av 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;> }>

>

>

Produksjon

A>

2. Bruke static_cast

Heltallet kan konverteres til et tegn ved å bruke static_cast-funksjonen. Nedenfor er C++-programmet for å konvertere int til char ved hjelp av 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;> }>

>

>

Produksjon

A>

3. Bruke sprintf()

Tildel plass for en enkelt int-variabel som vil bli konvertert til en char-buffer. Det er verdt å merke seg at følgende eksempel definerer maksimal lengde Max_Digits for heltallsdata. Fordi sprintf-funksjonen sender en char-streng som avsluttes med 0 byte til destinasjonen, legger vi til sizeof(char) for å få char-bufferlengden. Som et resultat må vi sørge for at det settes av nok plass til denne bufferen.

Nedenfor er C++-programmet for å konvertere int til char ved å bruke 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;> }>

>

>

Produksjon

n_char: 1234>

4. Bruk to_string() og c_str()

to string()-funksjonen transformerer en enkelt heltallsvariabel eller andre datatyper til en streng. c_str()-metoden konverterer en streng til en rekke tegn, og avsluttes med et nulltegn.

Nedenfor er C++-programmet for å konvertere int til char ved å bruke 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 java
Produksjon

n_char: 1234>

5. Bruke stringstream

En strengstrøm kobler et strengobjekt til en strøm, slik at du kan lese fra det som om det var en strøm (som cin). Stringstream krever inkludering av sstream-headerfilen. Stringstream-klassen kommer godt med når du behandler inndata.

Nedenfor er C++-programmet for å konvertere int til char ved hjelp av 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;> }>

>

>

Produksjon

n_char: 1234>

Metode: Konverter int-verdi til char ved å legge til 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;> }>

>

>

Produksjon

A>

Tidskompleksitet: O(1).
Ekstra plass: O(1).

Tilnærming: ASCII verdi offset tilnærming

Trinn:

  1. Ta et heltall fra brukeren.
  2. Sjekk om inngangsverdien tilsvarer et gyldig tegn i ASCII-tabellen ved å sjekke rekkevidden til inngangsverdien.
  3. Hvis inngangsverdien tilsvarer et gyldig tegn, legger du til den tilsvarende offsetverdien '0' eller 'A' (avhengig av inndata) til heltallsverdien for å få den tilsvarende tegnverdien.
  4. Skriv ut det tilsvarende tegnet.

C++




nettsteder som coomeet

#include> using> namespace> std;> int> main() {> >int> num = 65;> >cout <<>'Enter an integer: '> << num << endl;> > >char> ch;> >if>(num>= 65 && tall<= 90) {> >ch = num;> >}>else> if>(num>= 97 && tall<= 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 && tall<= 90) {> >ch = num;> >}>else> if>(num>= 97 && tall<= 122) {> >ch = num;> >}>else> {> >cout <<>'Invalid input.'> << endl;> >return> 0;> >}> >cout <<>'The corresponding character is: '> << ch << endl;> >return> 0;> }>

>

>

Produksjon

Enter an integer: 65 The corresponding character is: A Enter an integer: 97 The corresponding character is: a>

Tidskompleksitet: O(1), da det ikke er noen løkker involvert.
Hjelpeplass: O(1), siden vi bare bruker en enkelt tegnvariabel for å lagre resultatet.

Tilnærmingsnavn: Aritmetisk konvertering

Trinn:

  1. Beregn antall sifre i den inngående int-verdien.
  2. Iterer gjennom sifrene fra høyre til venstre, trekk ut hvert siffer og legg til ASCII-verdien '0' for å konvertere det til et tegn.
  3. Lagre den resulterende char-matrisen i den medfølgende utgangsbufferen.

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;> }>

>

>

Produksjon

12345>

Tidskompleksitet : O(log10 n), der n er inngangsverdien int.
Plass kompleksitet: O(log10 n), der n er inngangsverdien int, på grunn av behovet for å lagre utgangskarrayen.