file opened?
-
ich habe folgendes problem: ich prüfe, ob eine datei erfolgreich geöffnet wurde(somit will ich feststellen ob sie existiert), aber ich kriege immer falsche ausgaben:
...(string path){
fstream file(path.c_str());
if(file.good() != 0){
file.close();
return false;
}
if(file.fail() == 0){
file.close();
return false;
}
if(file.bad() == 0){
file.close();
return false;
}
else{
cout << "Successful\n";
file.close();
return true;
}
}nun müsste ich doch so rausfinden ob die datei existiert:
if(function("...") == true){
...
}Aber ich kriege bei jeder Ausgabe successful hingeschmettert.
Woran liegt das?
-
Hat sich erledigt. 0 ist wohl nicht immer true.
-
moppi schrieb:
Hat sich erledigt. 0 ist wohl nicht immer true.
false ist immer 0 und true ist ungleich false.
Aber deine Aktion lässt sich auch etwas vereinfachen:
#include <fstream> int main() { ifstream ifs("test.txt"); if (!ifs) //Konnte Datei geöffnet werden? Wenn nicht, abbrechen. return 1; //Lesen... ifs.close(); return 0; };MfG
GPC
-
mein spruch war eher ironisch gemeint
