C贸mo modificar dato de un arhcivo sin tener que leerlo previamente
El problema es el siguiente: voy leyendo secuencialmente un archivo y modificando determinados datos, que no necesito leer porque al llegar a su posici贸n ya s茅 que tengo que modificarlos. Despu茅s de muchas pruebas he conseguido hacerlo de la siguiente forma:
pos=ftell(p);
fseek(p,pos,SEEK_SET);
fread(&var1,sizeof(long),1,p);
fseek(p, -sizeof(long),SEEK_CUR);
fwrite(&var2,sizeof(long),1,p);
El primer fseek se supone que no hace nada, deja el puntero del archivo donde estaba, pero si no lo hago exactamente as铆 no escribe o no escribe bien, incluso se bloquea el ordenador. Utilizo el DEV C++.
驴Alguien puede decirme como hacer esto de una forma m谩s eficiente y sin tener que leer previamente el dato?
Gracias de antemano.
pos=ftell(p);
fseek(p,pos,SEEK_SET);
fread(&var1,sizeof(long),1,p);
fseek(p, -sizeof(long),SEEK_CUR);
fwrite(&var2,sizeof(long),1,p);
El primer fseek se supone que no hace nada, deja el puntero del archivo donde estaba, pero si no lo hago exactamente as铆 no escribe o no escribe bien, incluso se bloquea el ordenador. Utilizo el DEV C++.
驴Alguien puede decirme como hacer esto de una forma m谩s eficiente y sin tener que leer previamente el dato?
Gracias de antemano.
