Hola!, resulta que estoy programando en C y quiero leer un carácter que hay guardado en un archivo. Solo quiero leer un único carácter que hay en una línea, por lo que uso %c, pero me da error =SSSS.
Les dejo el código:
Lo que tengo puesto como comentario es lo que me salta mal (quitando las barras comentadas claro), o sea, que el resto del código lo tengo bien.Código:void mostrar_ficha() { FILE* a; a=fopen ("ficha.txt", "rt"); printf ("*** Ficha ***\n"); fscanf (a, "%s", datos.nombre); printf ("Nombre: %s\n", datos.nombre); fscanf (a, "%d", &datos.edad); printf ("Edad: %d\n", datos.edad); // fscanf (a, "%c", datos.sexo); // printf ("Sexo: %c\n", datos.sexo); printf ("Fin de la ficha"); fclose(a); }
El caso es que guardé en datos.sexo un único carácter, h o m, que es lo que se guarda en el archivo ficha.txt, pero a la hora de escanearlo con fscanf usando %c me salta error y se me cierra el programa. Si pongo %s también me salta error, aunque ahí supongo que me lo salta con %s porque antes lo guardé como 1 carácter y no más.
¿Alguna idea? ^^U. Gracias de antemano.



Citar