Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Convertir int en char (en c) sin usar ITOA

Estas en el tema de Convertir int en char (en c) sin usar ITOA en el foro de C/C++ en Foros del Web. Hola buenos dias, estoy renegando con un problema hace bastante. Necesito convertir una variable tipo INT en un CHAR en C. Muchos sugieren usar la ...
  #1 (permalink)  
Antiguo 07/08/2010, 07:17
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 19 años
Puntos: 11
Convertir int en char (en c) sin usar ITOA

Hola buenos dias, estoy renegando con un problema hace bastante. Necesito convertir una variable tipo INT en un CHAR en C.
Muchos sugieren usar la funcion ITOA, pero en versiones actuales de GCC no son funcionales ya que no estan incluidas no se bien por que.
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
  #2 (permalink)  
Antiguo 07/08/2010, 08:16
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Convertir int en char (en c) sin usar ITOA

Podiras crear tu propia funcion ITOA.

char numero[12];
int num,i=0;
while (num !=0)
{
numero[i++] = num %10;
num /= 10;
}

Esto te devuelve el numero invertido, deberias revertirlo y agregarle el \0 al final.
  #3 (permalink)  
Antiguo 07/08/2010, 10:00
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 9 meses
Puntos: 22
Respuesta: Convertir int en char (en c) sin usar ITOA

itoa no es estándar, utiliza sprintf:
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.     char buf[BUFSIZ];
  5.     int n = 2;
  6.     sprintf(buf, "%d^2 = %d", n, n*n);
  7.     puts(buf);
  8.     return 0;
  9. }

Si lo que quieres es convertir un dígito en caracter:
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.     int d = 8;
  5.     char c = '0' + d;
  6.     printf("%c", c);
  7.     return 0;
  8. }

Etiquetas: char, int, itoa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.