All the codes so far I referred uses temp file to delete a record from file.
Ex:
fp=fopen(“foo.db”,”rb”);
ft=fopen(“temp.db”,”wb”);
//check both files opened or created successfully. Terminate program accordingly
while(fread(&foo,sizeof(Foo),1,fp))
{
if(record matched)
{
//skip this record
}
else
{
//write a record in temp file
fwrite(&foo,sizeof(Foo),1,ft);
}
}
fclose(fp);
fclose(ft);
remove(“foo.db”); //remove original file
rename(“temp.db”,”foo.db”); //rename temp.db to foo.db
is this the only way we can implement deleting record ?
i can think of overlaping next record to previous record.
but how do i terminate last record and mark end of file in binary mode ?
i also saw this post but no clues