0
我以爲我應該把所有的文件讀入程序,然後刪除文件並用相同的名稱再次打開,之後我應該使用例如函數和if(!strcmp(.,.))
我應該從fwrite
結構中的每個元素。我嘗試了各種方式,但沒有奏效。有人能幫助我嗎?我會很感激。如何刪除二進制文件中的元素?
void usun_element()
{
int i;
char nazwa[100];
FILE *fp;
if((fp=fopen("katalog.bin", "rb"))==NULL)
{
printf("Brak pliku katalog na dysku.\n");
return;
}
else
printf("Wpisz nazwe, ltora chcesz usunac z listy: ");
scanf("%s", &nazwa);
otworz();
remove("katalog.bin");
otworz();
i=0;
while(i<ost)
{
if(!strcmp(nazwa,kat[i].nazwa))
{
fwrite(&kat[i].nazwa, sizeof(kat), 1, fp);
fwrite(&kat[i].typ, sizeof(kat), 1, fp);
fwrite(&kat[i].rodzaj, sizeof(kat), 1, fp);
fwrite(&kat[i].posiadane, sizeof(kat), 1, fp);
}
else
{
ost=i-1;
}
i++;
}
}
不要害羞,告訴我們你的代碼。有沒有其他的方式來了解你究竟想要什麼 – Dabo
是的.. Dabo是對的:) – MLSC
我用了一些不是英文的單詞,我認爲這會對你有些麻煩,要理解;) – user3212526