Ficheros

Ger
18 de Noviembre del 2003
Hola:

Como puedo modificar una archivo en c.
Es decir se como se puede escribir fwrite y leer fread
pero como puedo modificar un archivo ?

Muchas gracias

pigma
18 de Noviembre del 2003
Bueno, si lees no lo modificas, pero si escribes tu que crees.

Explícate mejor, porque no sé que quieres decir exactamente.

Ger
18 de Noviembre del 2003
Hola: Tengo lo siguiente:

Primero he hecho la estructura y despues el codigo siguiente:

FILE *fp;
char archivo[12];
int cod;

printf("Introduïu el nom del archivo de datosn");
scanf("%s",archivo);

if((fp=fopen(archivo, "r+"))==NULL){
printf("Error al intentar abrir el archivon");
return;
}

printf("nIntroduce el codigo del alumnon");
scanf("%d",&cod);

while (!feof(fp))
{
fread(&alumno,sizeof(alumno),1,fp);
if (alumn0.codigo==cod)
printf("nIntroduce el estado...");
scanf(" %s",&alumno.estado);
}
fwrite(&alumno,sizeof(alumno),1,fp);

fclose(fp);

Despues de ejectuarlo, se escribe en el fichero otra vez todos los datos del alumno pero con el estado que le pongo yo, pero no se borran los datos viejos, es decir hay el mismo alumno con el estado alta y con el estado baja. Y yo quiero que solo este una vez y que se cambie el alta por el baja o lo que sea.

Muchas gracias