En este artículo, aprenderemos cómo convertir int a char en C++. Para esta conversión, hay 5 formas de la siguiente manera:
- Uso de encasillamiento.
- Usando static_cast.
- Usando sprintf().
- Usando to_string() y c_str().
- Usando secuencias de secuencias.
Comencemos discutiendo cada uno de estos métodos en detalle.
Ejemplos:
Entrada: N = 65
Salida: AEntrada: N = 97
Salida: a
1. Usando el encasillado
Método 1:
- Declaración e inicialización: Para comenzar, declararemos e inicializaremos nuestro entero con el valor a convertir.
- Typecasting: Es una técnica para transformar un tipo de dato en otro. Estamos encasillando el entero N y guardando su valor en el tipo de datos char variable c.
- Imprime el carácter: Finalmente, imprime el carácter usando cout.
A continuación se muestra el programa C++ para convertir int a char usando typecasting:
C++
// C++ program to convert // int to char using typecasting #include <iostream> using namespace std; // Driver code int main() { int N = 97; cout << char(N); return 0; }
a
Método 2:
- Declaración e inicialización: Para comenzar, declararemos e inicializaremos nuestro entero con el valor a convertir.
- Typecasting: declarar otra variable como carácter c y asignar el valor de N a la C
- Imprime el carácter: Finalmente, imprime el carácter usando cout.
A continuación se muestra el programa C++ para convertir int a char usando typecasting:
C++
// C++ program to convert // int to char using typecasting #include <iostream> using namespace std; // Driver code int main() { int N = 65; char c = N; cout << c; return 0; }
A
2. Usando static_cast
El entero se puede convertir en un carácter utilizando la función static_cast. A continuación se muestra el programa C++ para convertir int a char usando static_cast:
C++
// C++ program to convert // int to char using static_cast #include <iostream> using namespace std; // Driver code int main() { int N = 65; char c = static_cast<char>(N); cout << c; return 0; }
A
3. Usando sprintf()
Asigne espacio para una única variable int que se convertirá en un búfer de caracteres. Vale la pena señalar que el siguiente ejemplo define la longitud máxima Max_Digits para datos enteros. Debido a que la función sprintf envía una string de caracteres que termina en 0 bytes al destino, agregamos sizeof(char) para obtener la longitud del búfer de caracteres. Como resultado, debemos asegurarnos de reservar suficiente espacio para este búfer.
A continuación se muestra el programa C++ para convertir int a char usando sprintf():
C++
// C++ program to convert // int to char using sprintf() #include <iostream> 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", n_char); return 0; }
n_char: 1234
4. Usando to_string() y c_str()
La función to string() transforma una sola variable entera u otros tipos de datos en una string. El método c_str() convierte una string en una array de caracteres, que termina con un carácter nulo.
A continuación se muestra el programa C++ para convertir int a char usando to_string() y c_str():
C++
// C++ program to convert // int to char using sto_string() // and c_str() #include <iostream> 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", n_char); return 0; }
n_char: 1234
5. Usando secuencias de secuencias
Un flujo de string conecta un objeto de string a un flujo, lo que le permite leerlo como si fuera un flujo (como cin). Stringstream requiere la inclusión del archivo de encabezado sstream. La clase stringstream es útil cuando se procesa la entrada.
A continuación se muestra el programa C++ para convertir int a char usando stringstream:
C++
// C++ program to convert // int to char using // stringstream #include <iostream> using namespace std; #include <sstream> // 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", n_char);; return 0; }
n_char: 1234
Publicación traducida automáticamente
Artículo escrito por laxmigangarajula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA