C++ Program pro převod char na int
Zde uvidíme, jak převést char na int pomocí programu C++. Existuje 6 způsobů, jak převést char na int v C++:
- Použití Typecasting. Pomocí static_cast. Pomocí sscanf(). Pomocí stoi(). Pomocí atoi(). Použití řetězcového proudu.
Pojďme diskutovat o každé z těchto metod podrobně.
1. Použití Typecasting
Metoda 1:
- Deklarujte a inicializujte naši postavu, která má být převedena.
- Typ přetypování znaku pro převod znaku na int pomocí int.
- Vytiskněte celé číslo pomocí cout.
Níže je uveden program C++ pro převod char na hodnotu int pomocí přetypování:
C++
// C++ program to convert> // char to int (ASCII Value) using typecasting> #include> using> namespace> std;> // Driver code> int> main()> {> > char> ch => 'A'> ;> > cout < <> int> (ch);> > return> 0;> }> |
Výstup
65
Časová složitost je O(1) a pomocný prostor je také O(1)
Pokud je třeba číselný znak přetypovat na celočíselnou hodnotu, můžeme buď odečíst 48 nebo „0“ a poté přetypovat číselný znak do int.
Níže je uveden program C++ pro převod char na celočíselnou hodnotu pomocí přetypování:
C++
// C++ program to convert> // char to int (integer value) using typecasting> #include> using> namespace> std;> // Driver code> int> main()> {> > char> ch => '5'> ;> > // Subtracting 48 will produce desired results> > cout < <> int> (ch) - 48 < <> '
'> ;> > // Also subtracting '0' will result in same output> > cout < <> int> (ch -> '0'> );> > return> 0;> }> // This code is contributed by Susobhan Akhuli> |
Výstup
5 5
Metoda 2:
- Deklarujte a inicializujte naši postavu, která má být převedena.
- Deklarujte jinou proměnnou jako int N a přiřaďte znak ch k N.
- Vytiskněte celé číslo pomocí cout.
Níže je uveden program C++ pro převod char na hodnotu int pomocí přetypování:
C++
// C++ program to convert> // char to int (ASCII value) using typecasting> #include> using> namespace> std;> // Driver code> int> main()> {> > char> ch => 'a'> ;> > int> N => int> (ch);> > cout < < N;> > return> 0;> }> |
Výstup
97
2. Použití static_cast
Znak lze převést na celé číslo pomocí funkce static_cast. Níže je uveden program C++ pro převod char na hodnotu int pomocí static_cast:
C++
// C++ program to convert char> // to int (ASCII Value) using static_cast> #include> using> namespace> std;> // Driver code> int> main()> {> > char> ch => 'A'> ;> > int> N => static_cast> <> int> >(ch);> > cout < < N;> > return> 0;> }> |
Výstup
65
3. Pomocí sscanf
Čte data z s a ukládá je na místa určená doplňkovými argumenty ve formátu parametru. Níže je uveden program C++ pro převod char na int pomocí sscanf():
C++
// C++ program to convert char> // to int using sscanf()> #include> using> namespace> std;> // Driver code> int> main()> {> > const> char> *s => '1234'> ;> > int> x;> > sscanf> (s,> '%d'> , &x);> > cout < <> '
The integer value of x : '> < < x;> > return> 0;> }> |
Výstup
The integer value of x : 1234
4. Použití stoi
Funkce stoi() v C++ převádí řetězec na celočíselnou hodnotu. Níže je uveden program C++ pro převod char na int pomocí stoi():
C++
// C++ program to convert char> // to int using stoi()> #include> #include> using> namespace> std;> // Driver code> int> main()> {> > char> s1[] => '45'> ;> > int> x = stoi(s1);> > cout < <> 'The integer value of x : '> < < x;> > return> 0;> }> |
Výstup
The integer value of x : 45
5. Použití atoi
Pokud je provedení úspěšné, metoda atoi() vrátí převedenou celočíselnou hodnotu. Pokud daný řetězec nelze převést na celé číslo, vrátí 0. Níže je uveden program C++ pro převod char na int pomocí atoi():
C++
// C++ program to convert char> // to int using atoi()> #include> using> namespace> std;> // Driver code> int> main()> {> > const> char> *str => '1234'> ;> > int> y => atoi> (str);> > cout < <> '
The integer value of y :'> < < y;> > return> 0;> }> |
Výstup
The integer value of y :1234
6. Použití stringstream
Stringstream spojuje objekt typu string s proudem a umožňuje vám z něj číst, jako by to byl proud (jako cin). Stringstream vyžaduje zahrnutí souboru záhlaví streamu. Třída stringstream se hodí při zpracování vstupu.
Níže je uveden program C++ pro převod char na int pomocí řetězcového proudu:
C++
// C++ program to convert char> // to int using string stream> #include> #include> #include> using> namespace> std;> // Driver code> int> main()> {> > stringstream string;> > string < <> '5'> ;> > int> n;> > string>> n;> > cout < <> 'Integer value is: '> < < n;> > return> 0;> }> |
Výstup
Integer value is: 5
6. Metoda: Převod hodnoty char na int přidáním 0
C++
// C++ program to convert> // char to int using typecasting by adding zero> #include> using> namespace> std;> > //Driver code> int> main()> {> > char> charvalue => 'a'> ;> > int> number = (> int> (charvalue)+0);> > cout < < number;> > return> 0;> }> > //this code is contributed by uomkar369> |
Výstup
97