logo

Програма C++ для перетворення int to char

У цій статті ми дізнаємося, як перетворити int на char у C++. Для цього перетворення існує 5 способів:

    Використання приведення типів. Використання static_cast. Використання sprintf(). Використання to_string() і c_str(). Використання stringstream.

Давайте почнемо з детального обговорення кожного з цих методів.



приклади:

введення: N = 65
Вихід: А

скільки нулів за мільйон

введення: N = 97
Вихід: a



1. Використання приведення типів

Спосіб 1:

    Оголошення та ініціалізація: для початку ми оголосимо та ініціалізуємо наше ціле число значенням, яке потрібно перетворити. Приведення типів: це техніка для перетворення одного типу даних в інший. Ми виконуємо приведення цілого числа N і зберігаємо його значення у змінній типу даних char c. Надрукувати символ: нарешті, надрукувати символ за допомогою cout.

Нижче наведено програму C++ для перетворення int у char за допомогою приведення типів:

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

>

>

Вихід

a>

Часова складність – O(1), а допоміжний простір – O(1).

Спосіб 2:

    Оголошення та ініціалізація: для початку ми оголосимо та ініціалізуємо наше ціле число значенням, яке потрібно перетворити. Приведення типу: оголосите іншу змінну як символ c і призначте значення N символу C. Надрукуйте символ: нарешті, надрукуйте символ за допомогою cout.

Нижче наведено програму C++ для перетворення int у char за допомогою приведення типів:

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

>

>

Вихід

A>

2. Використання static_cast

Ціле число можна перетворити на символ за допомогою функції static_cast. Нижче наведено програму C++ для перетворення int у char за допомогою 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;> }>

mb до gb
>

>

Вихід

A>

3. Використання sprintf()

Виділіть простір для однієї змінної int, яка буде перетворена в буфер символів. Варто зазначити, що в наступному прикладі визначено максимальну довжину Max_Digits для цілочисельних даних. Оскільки функція sprintf надсилає рядок char, що закінчується 0 байтами, до місця призначення, ми додаємо sizeof(char), щоб отримати довжину буфера char. У результаті ми повинні переконатися, що для цього буфера виділено достатньо місця.

Нижче наведено програму C++ для перетворення int у char за допомогою 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;> }>

>

>

Вихід

n_char: 1234>

4. Використання to_string() і c_str()

Функція to string() перетворює одну цілочисельну змінну або інші типи даних у рядок. Метод c_str() перетворює рядок на масив символів, що закінчується нульовим символом.

Нижче наведено програму C++ для перетворення int у char за допомогою to_string() і 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;> }>

>

>

c++ розділений рядок
Вихід

n_char: 1234>

5. Використання stringstream

Рядковий потік з’єднує рядковий об’єкт із потоком, дозволяючи читати з нього так, ніби це потік (як cin). Stringstream вимагає включення файлу заголовка sstream. Клас stringstream стає в нагоді під час обробки вхідних даних.

Нижче наведено програму C++ для перетворення int у char за допомогою 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;> }>

>

>

Вихід

n_char: 1234>

Метод: Перетворення значення int на char шляхом додавання 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;> }>

>

>

Вихід

A>

Часова складність: O(1).
Допоміжні приміщення: O(1).

Підхід: підхід зміщення значення ASCII

Кроки:

  1. Візьміть ціле число від користувача.
  2. Перевірте, чи введене значення відповідає дійсному символу в таблиці ASCII, перевіривши діапазон введеного значення.
  3. Якщо вхідне значення відповідає дійсному символу, тоді до цілого значення додайте відповідне значення зсуву «0» або «A» (залежно від введення), щоб отримати відповідне значення символу.
  4. Виведіть відповідний символ.

C++




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

>

>

Вихід

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

Часова складність: O(1), оскільки циклів немає.
Допоміжний простір: O(1), оскільки ми використовуємо лише односимвольну змінну для збереження результату.

Назва підходу: арифметичне перетворення

Кроки:

  1. Обчислити кількість цифр у вхідному значенні int.
  2. Перебирайте цифри справа наліво, вилучаючи кожну цифру та додаючи значення ASCII «0», щоб перетворити її на символ.
  3. Збережіть отриманий масив символів у наданому буфері виводу.

C++

java кольори




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

>

>

Вихід

12345>

Часова складність : O(log10 n), де n – вхідне int значення.
Складність простору: O(log10 n), де n — вхідне значення int, через необхідність зберігати вихідний масив char.