Plis... ¿Cómo leo flotantes desde un archivo texto?

Tengo un programa en c que usa una lista enlazada y quiero leer números desde un archivo y guardarlos en la lista, yo misma lo cree como texto, pero al leer los datos me da basura.
Estas son las lineas
arch=fopen("numeros.txt","rt");
.
.
p=(struct lista*) malloc(sizeof(struct lista)));
fread(&p, sizeof(struct lista), 1, arch)

1 respuesta

Respuesta
1
No creo que sea muy complicado esto que te diré, puedes hacer una función que lea todo el contenido del fichero, suponiendo que en el mismo SOLO tengas números de punto flotante(algo como el ejemplo):
1.00
2.00
3.00
(así hasta el final...)
Podrías hacer algo como esto:
bool Read_Data(Lista l, char *filename)
{
FILE *_file = fopen(filename, "r");
if(_file == NULL)
return false;
char buffer[32];
float number;
while(!feof(_file))
{
fgets(buffer, 32, _file);
if(sscanf("%f", &number) == 1)
l.Add(number);
else
return false;
}
return true;
}
Creo que lo puedes entender.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas