Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

C++ Dateien löschen

freak007 / 9 Antworten / Flachansicht Nickles

HI
Ich wollte fragen, wie man in c++ Dateien löschen kann (z.B. im Temporären Verzeichnis). Gibt mir bitte den Befehl. Danke im Voraus

bei Antwort benachrichtigen
Dreamforger PaoloP „Ich habe eine Eingebung.. jemand der zum löschen einer Datei in einem Forum...“
Optionen

Erfahrungsgemäßt bekommt man hier von höchster Stelle eins auf den Deckel wenn man wagt Kritik, auch konstruktive, anzubringen. Ist mir schon oft genug passiert :-)

Zurück zum Thema:


#include <windows.h>
#include <stdlib.h>

void DeleteDirectory( char* dir, int delSubs = 0 );

void DeleteDirectory( char* dir, int delSubs)
{
char* all = new char[strlen(dir)+3];
strcpy(all, dir);
if (dir[strlen(dir)-1] != '\\\\' ) strcat(all, "\\\\");
strcat(all, "*");
WIN32_FIND_DATA s;
HANDLE h = FindFirstFile( all, &s );
if (h == INVALID_HANDLE_VALUE) return;

do
{
if ( s.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if ((s.cFileName[ strlen( s.cFileName )-1] != '.' ) && delSubs )
{
DeleteDirectry( s.cFileName , 1 );
RemoveDirectory( s.cFileName );
}
}
else
{
DeleteFile( s.cFileName );
}
}
while( FindNextFile( h, &s) );
FindClose( h );

delete[] all;
}


Ich hab den Code nicht getestet, sollte aber funktionieren. Ruf DeleteDirectory( "C:\\\\temp", 1 ); auf und beschwer dich nachher nicht wenn alles in Temp weg ist. Falls der Code aus Gründen die sich mir entziehen auf deiner Platte randaliert ist das nicht mein Problem.
bei Antwort benachrichtigen