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 |