fin de fichero

auron
26 de Enero del 2004
muy buenas a todos, tengo un ejercicio en el que no se como localizar el fin de fichero. o como se haria para que al encontrar el fin de fichero se pare. vamos si sabeis que funcion o que me recomendais para hacerlo, muchas gracias. el enunciado es(para haceros una idea):
Escribe un programa en el que introduzcamos nombres y el dnis de varias personas,
lo almacenemos en un fichero. Después leemos los datos del fichero y lo visualizamos,
el ordenador tiene que controlar el fin de fichero, no vale hacerlo con un número fijo.

XXX
26 de Enero del 2004
echale un vistazo a este sitio:

http://c.conclase.net/curso/index.php?cap=039

chuidiang
26 de Enero del 2004
Una vez escrito el fichero y cerrado el fichero, lo vuelves a abrir para lectura con

fopen(...);

Haces una lectura de él. Es importante hacer al menos una lectura antes de comprobar el fin de fichero. Por ejemplo, con fgets()
Luego, en un while hasta fin de fichero, tratas la información y lees la siguiente línea. Más o menos

fgets (...); // Lee primera linea.
while (!feof(...)) // feof() es para comprobar fin de fichero)
{
tratar_ultima_informacion_leida();
fgets(...); // Lee siguiente linea.
}

Se bueno.

auron
26 de Enero del 2004
hoy nos han dado una pista para sacarlo, dice que tiene algo que ver con la lectura de caracter a caracter del fichero, que es binario, supongo que habra algun caracter que signifique el fin de fichero, pero me he vuelto loco buscando por el google. si alguien sabe algo, por favor se lo agradeceria mucho.gracias

auron
26 de Enero del 2004
hola soy yo otra vez, lo primero deciros que muchas gracias a los dos por la ayuda, y tan rapida. lo unico que yo uso el microsoft visual studio y el codigo a usar es diferente. e intentado buscar en la ayuda del programa algun comando de los que indicabais y sale, pero para c normal, el programa que uso no debe ser esa instruccion.(esque no tengo mucha idea). tambien se me olvido indicar que es con archivos de tipo binario, la funcion en la que deseo colocar la instruccion de fin de fichero es esta:
void leer(BinaryReader *br,int c)
{
Console::WriteLine(c);
for(int i=0;i<c;i++)
{
n=br->ReadString();
d=br->ReadInt32();
Console::WriteLine(n);
Console::WriteLine(d);
Console::WriteLine(S"-");
}
}
en vez de el for, necesitaria la instruccion que me sepa encontrar el fin de fichero. lo siento por no concretar, y a ver si alguin sabe esta duda que tengo. eso si muchas gracias a todos.