Написал вот метод по удалению записи из файла по имение и фамилии. только он почемуто удаляет все записи, вообщем очищает файл. В чём может быть проблема, не подскажете?
заранее спасибо.
void remove_users() { FILE *ftmp; User user,next; ftmp=fopen("tmp.db","w+b"); if(!ftmp) { perror("Tmp_file_error"); return; } printf("\nFirstname: "); scanf("%s",user.firstname); printf("\nSecondname: "); scanf("%s",user.secondname); if(db_open()) { fseek(fdb,0,SEEK_SET); while(fread(&next,sizeof(User),1,fdb)) { if((strlen(user.firstname)!= strlen(next.firstname)) && !strcmp(user.firstname, next.firstname)&& !strcmp(user.secondname,next.secondname)) { fwrite(&next,sizeof(User),1,ftmp); } } //db_close(); //fail zakrivaesja i otkrivaetsja freopen(DBNAME,"w+b",fdb); if(fdb) { fseek(ftmp,0,SEEK_SET); while(fread(&next,sizeof(User),1,ftmp)) { fwrite(&next,sizeof(User),1,fdb); } fclose(ftmp); } else { perror("File_error"); } } }