Problemas al modificar un registro de un archivo

Iniciado por Beginner Web, 6 Octubre 2018, 03:44 AM

0 Miembros y 1 Visitante están viendo este tema.

Beginner Web

Hola, mi prodecimiento no modifica el registro tal, luego de modificarlo me guarda cualquier cosa, el problema estara en el procedimiento de carga? puse fflush(stdin); por todas partes;
Código (cpp) [Seleccionar]
void modificar(parchivo docentes, int codigo)
{
tdocente d;
bool encontrado=false;
docentes=fopen("docentes.txt","r+");
if(docentes==NULL){
cout<<"No se pudo abrir el archivo"<<endl;
}
else{
while(!feof(docentes) && !encontrado){
fread(&d,sizeof(d),1,docentes);
if(!feof(docentes) && codigo==d.legajo){
encontrado=true;
}
}
if(encontrado==false){
cout<<"Docente no encontrado"<<endl;
}
else{
cargar(d);
fseek(docentes,-sizeof(d),1);
fwrite(&d,sizeof(d),1,docentes);
}
}
fclose(docentes);
}
 :huh:
7w7

MAFUS


Beginner Web

tdocente es un registro de datos personales de un docente, ya encontre el error el error estaba en un simple caracter en todos mis procedimientos y funciones, faltaba un caracter "b"; habia encontrado un metodo de copiar en un archivo temporal todos los registros menos el especificado por el usuario, borrar el original y renombrar el temporal por el noombre del archivo orginal , pero es medio aburrido, asi que simplemente modifique el registro especificado y ya, gracias  ;-)
7w7