La Web del Programador: Comunidad de Programadores
 
    Pregunta:  56496 - COMO PASAR UN INT A CHAR EN C (UNIX)
Autor:  Juan
Hola a todos,

soy nuevo en esto de la programacion. Estoy intentando recoger un numero de un archivo que capturo con un fscanf y lo asigno a una variable int.

Esta variable la opero y el resultado necesito guardarlo como char.
El problema que tengo es que no consigo hacer el cast de ninguna manera

char linealeida[1];
int i;
en un while con la instrucción (fscanf(arxivoentrada, "%i", &linea) voy recogiendo sin problemas todas las lineas, hasta aquí ningun problema
el problema es que despues de operarlo sumandole o restandole algo, intento hacer esto:

lineafinal = scanf("%s", &linea);

o directamente

lineafinal = (char*) linea;

y me dice al compilarlo tipos incompatibles de asignacion.

Podeis ayudarme?

Gracias por adelantado

  Respuesta:  nayumi orama
Tienes varios errores de concepto.

En tu variable char linealeida[1] estás reservando espacio para un sólo caracter, por lo que sólo podrás guardar valores de 0 a 9, y luego no podras utilizar la libreria estandar de manejo de cadenas de caracteres al faltarte el caracter de fin de cadena .

En este caso, necesitas un sprintf