logo

C++ programma Int to char Conversion

Šajā rakstā mēs uzzināsim, kā pārvērst int par char programmā C++. Šai konversijai ir 5 šādi veidi:

    Lietojumprogrammas izmantošana. Izmantojot static_cast. Izmantojot sprintf (). Izmantojot to_string() un c_str(). Izmantojot stringstream.

Sāksim ar katras no šīm metodēm detalizētu apspriešanu.



Piemēri:

Ievade: N = 65
Izvade: A

Ievade: N = 97
Izvade: a



1. Typecasting izmantošana

1. metode:

    Deklarēšana un inicializācija: lai sāktu, mēs deklarēsim un inicializēsim savu veselo skaitli ar konvertējamo vērtību. Tipa apraide: tā ir viena datu veida pārveidošanas metode citā. Mēs ievadām veselu skaitli N un saglabājam tā vērtību datu tipa char mainīgajā c. Izdrukājiet rakstzīmi: Visbeidzot, izdrukājiet rakstzīmi, izmantojot cout.

Zemāk ir C++ programma, lai pārveidotu int par char, izmantojot tipa apraidi:

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

>

>

Izvade

a>

Laika sarežģītība ir O(1), un palīgtelpa ir O(1).

2. metode:

    Deklarēšana un inicializācija: lai sāktu, mēs deklarēsim un inicializēsim savu veselo skaitli ar konvertējamo vērtību. Typecasting: deklarējiet citu mainīgo kā rakstzīmi c un piešķiriet N vērtību C Izdrukājiet rakstzīmi: Visbeidzot, izdrukājiet rakstzīmi, izmantojot cout.

Zemāk ir C++ programma, lai pārveidotu int par char, izmantojot tipa apraidi:

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

>

>

Izvade

A>

2. Izmantojot static_cast

Veselu skaitli var pārveidot par rakstzīmi, izmantojot funkciju static_cast. Zemāk ir C++ programma, lai pārvērstu int par char, izmantojot 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;> }>

>

>

Izvade

A>

3. Izmantojiet sprintf()

Piešķiriet vietu vienam int mainīgajam, kas tiks pārveidots par char buferi. Ir vērts atzīmēt, ka nākamajā piemērā ir noteikts maksimālais garums Max_Digits veseliem skaitļiem. Tā kā funkcija sprintf uz galamērķi nosūta char virkni, kas beidzas ar 0 baitiem, mēs pievienojam sizeof(char), lai iegūtu char bufera garumu. Rezultātā mums ir jānodrošina, lai šim buferim būtu atvēlēts pietiekami daudz vietas.

Zemāk ir C++ programma, lai pārveidotu int par char, izmantojot 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;> }>

>

>

Izvade

saraksta virkne java
n_char: 1234>

4. Izmantojot to_string() un c_str()

Funkcija to string() pārveido vienu veselu skaitļu mainīgo vai citus datu tipus virknē. Metode c_str () pārveido virkni rakstzīmju masīvā, kas beidzas ar nulles rakstzīmi.

Zemāk ir C++ programma, lai pārvērstu int par char, izmantojot to_string() un c_str():

C++




trīskāršs operators java

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

>

>

Izvade

n_char: 1234>

5. Stringstream izmantošana

Virknes straume savieno virknes objektu ar straumi, ļaujot no tās lasīt tā, it kā tā būtu straume (piemēram, cin). Stringstream ir jāiekļauj straumes galvenes fails. Stringstream klase noder, apstrādājot ievadi.

Zemāk ir C++ programma, lai pārvērstu int par char, izmantojot 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;> }>

>

>

Izvade

n_char: 1234>

Metode: konvertējiet int vērtību par char, pievienojot 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;> }>

>

>

Izvade

A>

Laika sarežģītība: O(1).
Palīgtelpa: O(1).

Pieeja: ASCII vērtību nobīdes pieeja

Darbības:

  1. Ievadiet no lietotāja veselu skaitļu.
  2. Pārbaudiet, vai ievades vērtība atbilst derīgai rakstzīmei ASCII tabulā, pārbaudot ievades vērtības diapazonu.
  3. Ja ievades vērtība atbilst derīgai rakstzīmei, pievienojiet atbilstošo nobīdes vērtību “0” vai “A” (atkarībā no ievades), lai iegūtu atbilstošo rakstzīmes vērtību.
  4. Izvadiet atbilstošo rakstzīmi.

C++




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

>

>

Izvade

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

Laika sarežģītība: O(1), jo nav iesaistītas cilpas.
Palīgtelpa: O (1), jo mēs izmantojam tikai vienu rakstzīmes mainīgo, lai saglabātu rezultātu.

Pieejas nosaukums: Aritmētiskā konvertēšana

Darbības:

  1. Aprēķiniet ciparu skaitu ievades int vērtībā.
  2. Atkārtojiet ciparus no labās puses uz kreiso, izvelkot katru ciparu un pievienojot ASCII vērtību “0”, lai pārvērstu to par simbolu.
  3. Saglabājiet iegūto zīmju masīvu nodrošinātajā izvades buferī.

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

>

>

Izvade

12345>

Laika sarežģītība : O(log10 n), kur n ir ievades ievades vērtība.
Telpas sarežģītība: O(log10 n), kur n ir ievades int vērtība, jo ir jāsaglabā izvades char masīvs.