Cómo modificar o eliminar un dato en lenguaje C
Para proporcionarle varias referencias de funciones, puede buscar en Baidu métodos de uso específicos.
La función fseek se usa para ubicar la posición del cursor en el archivo;
La función fread se usa para leer el archivo, combinada con sizeof para leer la cadena de longitud fija <; /p>
Función strcmp Se usa para comparar y buscar números de estudiantes;
La función fwrite se usa para escribir información y se usa en combinación con sizeof;
Referencia: ¿void? actualizar(FILE?*fp)
{
struct?score_record?sr;
char?key[10]
printf ("\nIngrese el estudiante cuyo puntaje desea modificar Número o nombre del estudiante: "?);
scanf("%s",?key);
fseek(fp ,?0,?SEEK_SET);
while(fread(&sr,?sizeof(sr),?1,?fp)?==?1)?{
if( strcmp(sr.ID,?key)?==? 0?||?strcmp(sr.name,?key)?==?0)?{?//?found
printf(" La puntuación original de %s es: %d\n", ?sr.name,?sr.c_score);
printf("La puntuación de %s debe modificarse a:?");
scanf("%d",?&sr. c_score);
fseek(fp,?0-sizeof(sr),?SEEK_CUR);
fwrite(&sr ,?sizeof(sr),?1,?fp);
return;
}
}
printf("No ID de estudiante o estudiante llamado %s encontrado\n", ?key);
}