logo

Programme C++ pour la conversion int en char

Dans cet article, nous apprendrons comment convertir un int en char en C++. Pour cette conversion, il existe 5 manières comme suit :

    Utilisation du transtypage. Utilisation de static_cast. En utilisant sprintf(). Utilisation de to_string() et c_str(). Utilisation de stringstream.

Commençons par discuter de chacune de ces méthodes en détail.



Exemples:

Saisir: N = 65
Sortir: UN

Saisir: N = 97
Sortir: un



1. Utilisation du transtypage

Méthode 1 :

    Déclaration et initialisation : Pour commencer, nous allons déclarer et initialiser notre entier avec la valeur à convertir. Typecasting : C'est une technique permettant de transformer un type de données en un autre. Nous transtypons l'entier N et enregistrons sa valeur dans la variable char de type de données c. Imprimer le personnage : Enfin, imprimez le caractère en utilisant cout.

Vous trouverez ci-dessous le programme C++ pour convertir int en char à l'aide du transtypage :

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

>

>

Sortir

a>

La complexité temporelle est O(1) et un espace auxiliaire est O(1).

Méthode 2 :

    Déclaration et initialisation : Pour commencer, nous allons déclarer et initialiser notre entier avec la valeur à convertir. Typecasting : Déclarez une autre variable comme caractère c et attribuez la valeur de N au C. Imprimer le caractère : Enfin, imprimez le caractère en utilisant cout.

Vous trouverez ci-dessous le programme C++ pour convertir int en char à l'aide du transtypage :

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

commissaire de police adjoint
>

>

Sortir

A>

2. Utilisation de static_cast

L'entier peut être converti en caractère à l'aide de la fonction static_cast. Vous trouverez ci-dessous le programme C++ pour convertir int en char à l'aide de 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;> }>

>

>

Sortir

A>

3. Utilisation de sprintf()

Allouez de l'espace pour une seule variable int qui sera convertie en tampon de caractères. Il convient de noter que l'exemple suivant définit la longueur maximale Max_Digits pour les données entières. Étant donné que la fonction sprintf envoie une chaîne de caractères se terminant par 0 octet à la destination, nous ajoutons sizeof(char) pour obtenir la longueur du tampon de caractères. Par conséquent, nous devons nous assurer qu’un espace suffisant est réservé à ce tampon.

Vous trouverez ci-dessous le programme C++ pour convertir int en char à l'aide de 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;> }>

>

initialisation du printemps

>

Sortir

n_char: 1234>

4. Utilisation de to_string() et c_str()

La fonction to string() transforme une seule variable entière ou d'autres types de données en chaîne. La méthode c_str() convertit une chaîne en un tableau de caractères se terminant par un caractère nul.

Vous trouverez ci-dessous le programme C++ pour convertir int en char en utilisant to_string() et 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;> }>

>

>

Sortir

n_char: 1234>

5. Utilisation de StringStream

Un stringstream connecte un objet chaîne à un flux, vous permettant de le lire comme s'il s'agissait d'un flux (comme cin). Stringstream nécessite l'inclusion du fichier d'en-tête sstream. La classe stringstream est pratique lors du traitement des entrées.

Vous trouverez ci-dessous le programme C++ pour convertir int en char à l'aide de 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;> }>

>

>

Sortir

n_char: 1234>

Méthode : Conversion de la valeur int en char en ajoutant 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;> }>

>

pandas créant un dataframe

>

Sortir

A>

Complexité temporelle : O(1).
Espace auxiliaire : O(1).

Approche : approche de compensation de valeur ASCII

Pas:

  1. Prenez une entrée entière de l’utilisateur.
  2. Vérifiez si la valeur d'entrée correspond à un caractère valide dans la table ASCII en vérifiant la plage de la valeur d'entrée.
  3. Si la valeur d'entrée correspond à un caractère valide, ajoutez la valeur de décalage correspondante de « 0 » ou « A » (selon l'entrée) à la valeur entière pour obtenir la valeur de caractère correspondante.
  4. Affichez le caractère correspondant.

C++




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

>

>

Sortir

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

Complexité temporelle : O(1), car aucune boucle n’est impliquée.
Espace auxiliaire : O(1), car nous n'utilisons qu'une seule variable de caractère pour stocker le résultat.

Nom de l’approche : conversion arithmétique

Pas:

  1. Calculez le nombre de chiffres dans la valeur int d’entrée.
  2. Parcourez les chiffres de droite à gauche, en extrayant chaque chiffre et en ajoutant la valeur ASCII de « 0 » pour le convertir en caractère.
  3. Stockez le tableau de caractères résultant dans le tampon de sortie fourni.

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 ; je--) {> >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;> }>

>

>

Sortir

12345>

Complexité temporelle : O(log10 n), où n est la valeur entière d'entrée.
Complexité spatiale : O (log10 n), où n est la valeur int d'entrée, en raison de la nécessité de stocker le tableau de caractères de sortie.