[C++] - .tmp dateien löschen?

GeileEier

Mitglied
gibt es in C++ die möglichkeit ein laufwerk nach dateien mit der endung .tmp zu suchen und diese anschließend zu löschen?
in BATCH gibt es so etwas, glaube ich....
 
Zum Löschen der Dateien gibts die Funktion remove,
Zum Suchen davon FindFirstFile bzw. FindNextFile
Hatten wir schon oft hier, irgendwo wird wohl ein Beispiel zu finden sein.

Sonst, wenn es dich nicht stört, dass (vielleicht, ist nicht bei jedem PC so) ein
weiteres Konsolenfenster eine Zeit lang daherkommt,
kannst du in etwa so etwas schreiben:
system("dir /a /s /b *.tmp >datei.txt");

Dann steht in datei.txt pro zeile der Name samt Pfad von einer tmp-Datei drin, du brauchst nur noch alle der Reihe nach zu löschen
 
hi... danke...
da würde sich ja anbieten die funktionen
-remove()
-FindFirstFile()
-FindNextFile()
zu benutzen....

PHP:
Beispiel:

  #include <stdio.h>

  int main()
  {
  
HANDLE fHandle;
WIN32_FIND_DATA wfd;

fHandle=FindFirstFile("C:\\*",&wfd);

do
{

    if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) ))
    {
        if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
             remove(fHandle);
        }
 
    }
}
while (FindNextFile(fHandle,&wfd));
FindClose(fHandle);


   return 0;
}

kleines problem.......
wie kann ich nach der dateiendung .tmp suchen lassen?
 
Weisst du eigentlich wie ALT dieser Beitrag ist?
@eier: sorry dass ich damals nicht geantwortet habe, hab garnicht bemerkt dass du noch eine Frage gestellt hast
Ich nehm einmal an, dass du es schon gelöst hast,
für alle mit dem gleichen Problem: C:\\*.tmp
 
(1) WinAPI hat NICHTS mit C++ zu tun.
(2) std::remove ist aus dem C-Standard in den C++-Standard übernommen wurden. (Header: <cstdio>). Aber wenn schon WinAPI (C), dann bitte doch auch zum Löschen eine WinAPI-Funktion!
(3) Unter C++ gibt es sowas wie Filesysteme nicht. Kommender Standard (09) könnte dies allerdings ändern. (s. TR1 u. 2). Bis dahin? boost.org!
 
Zurück