-
Cómo convertir un entero a un personaje en C ++
-
La conversión de un entero a sus equivalentes ASCII es una práctica común en la programación. Para muchas funciones, es necesario manipular los formatos de datos para hacerlos funcionar. Por desgracia, C / C ++ no ofrece un método toString conveniente (), a diferencia de Java, por lo que la conversión debe hacerse a mano.
Instrucciones
1 Añadir el número entero deseado para el carácter '0'. Tenga en cuenta que esto sólo funciona para un solo dígito 0-9, y funciona porque los personajes pasan a estar en orden.
int i = 3;
c Char = '0' + i;
Ahora es el carácter c '3'.
2 Utilice itoa (), abreviatura de entero a ASCII. Esta función se activará para todas las plataformas de Windows, pero no es estándar y no funcionará para Mac o Linux.
incluir <cstdio>
{int i = 27;
char * str = new char [33];
itoa (i, str, 10);
// El 10 indica la base 10
}
Ahora str es "27".
3 Utilice corrientes C ++. Este es el método estándar de la mayoría de la conversión.
incluir <sstream>
{int i = 5;
std :: string s;
std :: stringstream a cabo;
<< cabo i;
s = out.str ();
}
Ahora es "5".
Consejos y advertencias
- Cualquier entero distinto de los números enteros 0-9 tiene más de un dígito, y por lo tanto debe ser convertido a una cadena (una matriz de caracteres).
- El itoa función () también se puede utilizar para bases no decimales (por ejemplo, cambiar el último parámetro a 2, 6, etc. para binario y hexadecimal).
- La longitud de itoa () 's matriz debe ser calculado con la mano. Recuerde que las cadenas son terminada en nulo.