fin de fichero
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.
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.
echale un vistazo a este sitio:
http://c.conclase.net/curso/index.php?cap=039
http://c.conclase.net/curso/index.php?cap=039
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.
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.
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
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.
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.
