C/Visual C - problemas para acceder a un archivo en c++

 
Vista:

problemas para acceder a un archivo en c++

Publicado por Nelson Albera (1 intervención) el 28/04/2004 04:04:21
Hola tengo problemas para acceder a un registro ne un archivo binario en c++, con el fseek, cada vez que accedo para modificar modifica cualquier cosa, cualquier registro???????
tomo primero con ftell la posicion del registro y luego accedo con fseek()???
como hagooooooooo
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas para acceder a un archivo en c++

Publicado por chuidiang (677 intervenciones) el 28/04/2004 10:05:26
Tienes que saber la posicion del registro.
Lo habitual es que el fichero binario contenga N registros de igual tamaño (en bytes), de forma que la posicion del registro i se puede calcular con

i * tamanho_registro.

Con fseek() vas a esa posicion. Si lees con fread () un registro, leeras el registro en esa posición. Si escribes con fwrite() un registro, escribiras en ese registro.

ftell() suele servir para saber el tamaño del fichero y no intentar acceder a un registro fuera del fichero. Con fseek() vas al final del fichero, ftell() te dice en que posicion estas y dividiendo esa posicion entre el tamaño en bytes del registro sabes cuantos registros hay en el fichero.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar