Tecnología

Inicio

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.