[C++] DeleteFile schlägt fehl

kickerxy123

Erfahrenes Mitglied
Hallo zusammen,

ich habe derzeit ein ziemlich banales Problem.
Ich möchte eine Datei einlesen und anschließend löschen. Folgendes habe ich versucht:
C++:
ifstream fin(path);
if(!fin) return;
string line;
while(getline(fin, line, '\n')){ .....}

fin.close();

while(!DeleteFile(path.c_str())) Sleep(10); //returns !infinitly! 32 ("The process cannot access the file because it is being used by another process.")

mit fin.close() sollte die Datei meines Verständnisses nach wieder freigegeben werden. Habe sogar schon versucht den fin-Teil in einen anonymen Block zu packen, damit bei DeleteFile das fin Objekt zerstört ist.

Wer kann mir bei diesem dämlichen Problem helfen?

danke sehr
kickerxy



Sorry... es war in der Tat ein banaler Fehler... in der Klasse wurde auch automatisch ein HFILE Handle auf path geöffnet für andere Dinge. Das kommt davon, wenn man sich seine Klassen nicht so oft anschaut ;) ein CloseHandle(hFile) vor dem Delete - und es klappt wunderbar.
 
Zuletzt bearbeitet:
Zurück