logo

C++ programa Int to char konvertavimui

Šiame straipsnyje mes sužinosime, kaip konvertuoti int į char C++. Yra 5 šios konversijos būdai:

    Tipo atvaizdo naudojimas. Naudojant static_cast. Naudojant sprintf (). Naudojant to_string() ir c_str(). Naudojant stringstream.

Pradėkime išsamiai aptardami kiekvieną iš šių metodų.



Pavyzdžiai:

Įvestis: N = 65
Išvestis: A

Įvestis: N = 97
Išvestis: a



1. Typecasting naudojimas

1 būdas:

    Deklaravimas ir inicijavimas: Norėdami pradėti, mes paskelbsime ir inicijuosime sveikąjį skaičių su konvertuojama verte. Tipų perdavimas: Tai yra vieno duomenų tipo pavertimo kitu technika. Mes įvedame sveikąjį skaičių N ir išsaugome jo reikšmę duomenų tipo char kintamajame c. Spausdinkite simbolį: galiausiai atspausdinkite simbolį naudodami cout.

Žemiau yra C++ programa, skirta konvertuoti int į char naudojant tipo siuntimą:

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

>

>

Išvestis

a>

Laiko sudėtingumas yra O(1), o pagalbinė erdvė yra O(1).

2 būdas:

kat timpf sesuo
    Deklaravimas ir inicijavimas: Norėdami pradėti, mes paskelbsime ir inicijuosime sveikąjį skaičių su konvertuojama verte. Typecasting: paskelbkite kitą kintamąjį kaip simbolį c ir priskirkite N reikšmę C. Spausdinkite simbolį: Galiausiai atspausdinkite simbolį naudodami cout.

Žemiau yra C++ programa, skirta konvertuoti int į char naudojant tipo siuntimą:

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

>

>

Išvestis

A>

2. Static_cast naudojimas

Sveikasis skaičius gali būti konvertuojamas į simbolį naudojant static_cast funkciją. Žemiau yra C++ programa, skirta konvertuoti int į char naudojant 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;> }>

>

>

Išvestis

A>

3. Naudojant sprintf()

Skirkite vietos vienam int kintamajam, kuris bus konvertuojamas į char buferį. Verta paminėti, kad toliau pateiktame pavyzdyje apibrėžiamas maksimalus sveikųjų skaičių ilgis Max_Digits. Kadangi funkcija sprintf į paskirties vietą siunčia simbolių eilutę, kuri baigiasi 0 baitų, mes pridedame sizeof(char), kad gautume char buferio ilgį. Todėl turime užtikrinti, kad šiam buferiui būtų skirta pakankamai vietos.

Žemiau yra C++ programa, skirta konvertuoti int į char naudojant 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;> }>

>

>

Išvestis

n_char: 1234>

4. Naudojant to_string() ir c_str()

Funkcija to string() paverčia vieną sveikojo skaičiaus kintamąjį arba kitus duomenų tipus į eilutę. Metodas c_str() konvertuoja eilutę į simbolių masyvą, kuris baigiasi nuliniu simboliu.

Žemiau yra C++ programa, skirta konvertuoti int į char naudojant to_string() ir 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;> }>

>

>

Išvestis

n_char: 1234>

5. Stringstream naudojimas

Styginių srautas sujungia eilutės objektą su srautu, todėl galite skaityti iš jo taip, lyg tai būtų srautas (kaip cin). Stringstream reikalauja įtraukti srauto antraštės failą. Styginių srauto klasė praverčia apdorojant įvestį.

Žemiau yra C++ programa, skirta konvertuoti int į char naudojant 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;> }>

>

>

Išvestis

n_char: 1234>

Metodas: konvertuoti int reikšmę į char pridedant 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;> }>

>

>

Išvestis

A>

Laiko sudėtingumas: O(1).
Pagalbinė erdvė: O(1).

Metodas: ASCII vertės poslinkio metodas

Žingsniai:

  1. Paimkite sveikąjį skaičių iš vartotojo.
  2. Patikrinkite, ar įvesties reikšmė atitinka galiojantį ASCII lentelės simbolį, patikrindami įvesties reikšmės diapazoną.
  3. Jei įvesties reikšmė atitinka galiojantį simbolį, pridėkite atitinkamą poslinkio reikšmę „0“ arba „A“ (priklausomai nuo įvesties), kad gautumėte atitinkamą simbolio reikšmę.
  4. Išveskite atitinkamą simbolį.

C++




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

>

>

Išvestis

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

Laiko sudėtingumas: O(1), nes nėra kilpų.
Pagalbinė erdvė: O (1), nes rezultatui saugoti naudojame tik vieno simbolio kintamąjį.

Metodo pavadinimas: Aritmetinė konversija

Žingsniai:

  1. Apskaičiuokite įvesties įvesties reikšmės skaitmenų skaičių.
  2. Pakartokite skaitmenis iš dešinės į kairę, ištraukdami kiekvieną skaitmenį ir pridėdami ASCII reikšmę „0“, kad konvertuotumėte jį į simbolį.
  3. Išsaugokite gautą char masyvą pateiktame išvesties buferyje.

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

>

>

Išvestis

12345>

Laiko sudėtingumas : O(log10 n), kur n yra įvesties reikšmė.
Erdvės sudėtingumas: O(log10 n), kur n yra įvesties įvesties reikšmė, nes reikia saugoti išvesties char masyvą.