Duda leer archivo de texto

Iniciado por RRjavier21, 6 Agosto 2018, 19:37 PM

0 Miembros y 1 Visitante están viendo este tema.

RRjavier21

Hola buenas, tengo un problema con un programa, necesito leer hasta el final un archivo de texto, pero necesito hacerlo con fscanf para guardar los datos que me dan.

El archivo son 3 tipos de casos junto a 3 datos.Estan de esta forma, sin orden de casos ni tampoco una cantidad limite de casos (cada caso tiene su propio nombre).

caso2 dato1 dato2 dato3
caso3 dato1 dato2 dato3
caso2 dato1 dato2 dato3
caso1 dato 1 dato2 dato3

Se que tengo que utilizar el EOF para saber que llegue al final del archivo, pero no se como utilizarlo con fscanf, y estoy totalmente desorientado. Agradeceria la ayuda.
(estoy programando en C si es que es de utilidad)

ThunderCls

fscanf + C# ? Algo no me cuadra  :¬¬ ......seguro que estas usando C#?
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

RRjavier21

no se en que estaba pensando
era C, no me funciono el cerebro

bueno, la pregunta es la misma
solo que es C en vez de C#

MAFUS

Lo que suelo usar es la siguiente estructura:


char c;
FILE *fp;

// ...

c=fgetc(fp);
while(!feof) {
    ungetc(c, fp);

    // Hacer lo que uno quiera con el archivo

    c=fgetc(fp);
}

ThunderCls

Dependiendo del tipo de dato que esperas leer en cada caso igual pudieras usar algo como lo que te dio MAFUS usando ademas fscanf:

char caso[MAX_PATH];
char dato1[MAX_PATH];
char dato2[MAX_PATH];
char dato3[MAX_PATH];

...

while(fscanf(fp,"%s %s %s %s", caso, dato1, dato2, dato3) != EOF)
{
    // haz lo que quieras con caso, dato1, dato2, dato3
}

...

-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/