1.) Gibt es eine Möglichkeit bestimmte Dateien welche ich mit std::ofstream erzeugt habe zu löschen?
Zu erst einmal ist es egal ob du die Datei mit std::ofstream oder mit CreateFile(WinAPI) erstellt hast. Ok nicht ganz. CreateFile sollte mit UNICODE klar kommen, wobei der NTFS-Treiber von Windows da einen Fehler hat ... aber egal.
In C++ ist es NICHT möglich eine Datei zu löschen. Nicht mit den im C++-Standard enthaltenen Funktionen. Wenn du auf Funktionen des C-Standards zugreifst(s. std::remove aus cstdio) ist es aber durchaus möglich eine Datei zu löschen.
2.) Kann ich ofstream für den Namen der Datei eine Variable übergeben?
Ein Parameter einer Funktion ist für gewöhnlich eine Variable die im Funktionsscope besteht.
D.h. auch wenn du jetzt den Dateinamen statisch vorgibst, ist er für C++ eine Variable!
|
C-/C++-Quelltext
|
1
2
3
|
std::string file_name("C:\\Programme\\MyProg\\MyProg.exe");
std::ofstream file_stream(filename.c_str());
if (!file_stream) std::cerr << "FEHLER: Datei \" " << file_name << "\" konnte nicht geöffnet werden!" << std::endl;
|
...