prüfen ob datei existiert, oder nicht, wie ???
-
hi, mal ne frage... ich suche einfunktion die mir einen true/false wert returnt ob eine datei existiert oder nicht... mit welcher Funktion stell ich des am besten an??
gruß Tobi.
-
versuch die Datei doch einfach zu öffnen ...
-
darum geht es mir nicht...
ich habe ein programm, welches beim starten werte aus einer .ini datei liesst um diese werte dann den childs zu zuteilen... also zum bsp. die werte 1/0 fuer ceckboxen ob nen x rein soll oder nicht, quasie speichere ich da meine letzten settings.
sollte doch nun die datei mal verloren gehen, soll das beim start des progs geprüft werden, und im falle das sie wirklich nicht da ist... soll eine neue .ini datei erstellt werden mit default werten.
also brauche ich nur einen return wert der mir sagt ob die datei existiert oder nicht.
-
(D)Evil schrieb:
versuch die Datei doch einfach zu öffnen ...
Ist denk ich die einfachste Methode. Die Datei öffnen (musst du sowieso), bei Erfolg super, wenn das öffnen fehlschlägt ist die Datei nicht da -> Defaultdatei schreiben (kannst du eigentlich auch auslassen, wenn du das Child einfach mit den Defaultwerten erstellst, die .ini wird dann am Ende erstellt.
-
schon aber oich will ja die letzten settings vom letzen mal laden net immer die default werte
... ich weiss dumme frage aba wie öffnet man files via FILE hfile... hab de snoch nie gemacht immernur mit fstream....
Gruß Tobi
-
Joa? Ist ja auch besser mit std::ifstream ... wenn is_open() == false ist wird wohl kaum die Datei offen sein bzw gefunden worden sein

-
unter windows ist es afaik auch eine gängige methode GetFileAttribute() zu verwenden:
if( GetFileAttributes("blub.abc") != INVALID_FILE_ATTRIBUTES ) // datei da else // datei eher nicht vorhanden :P
-
Jap aber net im C++-Forum
Aber sonnst ja kann man sicherlich auch so machen ...
-
T0bi schrieb:
darum geht es mir nicht...
Doch, ich habe schon den Eindruck, als ob es genau darum geht:
=>T0bi schrieb:
...also brauche ich nur einen return wert der mir sagt ob die datei existiert oder nicht.
bool istDateiDa(string const& dateiName) { ifstream datei(dateiName.c_str()); return datei.is_open(); }... macht genau das, was Du willst.
Was Du dann aus dem Wissen um die Existenz der Datei machst (ini-Daten an Clients verteilen oder Atomwaffen verschrotten), ist davon total unabhängig.
Gruß,
Simon2.
-
Hallo
Du kannst auch Funktion exists() aus boost_filesystem benutzen.
chrische
-
Die intern wieder GetFileAttributes verwendet (unter Windows).