Ich möchte überprüfen, ob eine Datei vorhanden ist, und versucht, die folgende Funktionprüfen Datei Existenz in C++ ohne Datei erstellen
#include <fstream>
bool DoesFileExist(const std::string& filename) {
std::ifstream ifile(filename.c_str());
return (bool)ifile;
}
jedoch zu verwenden, es scheint nicht richtig zu funktionieren, denn anstatt die Existenz des Prüfens Eine Datei wird erstellt! Was ist das Problem hier?
Bitte beachte, dass ich gezwungen ist, C++ 98-Standard verwenden und nicht #include <sys/stat.h>
oder #include <unistd.h>
wie in der akzeptierten Antwort vorgeschlagen verwenden kann here.
Wenn möglich, lernen C++ 11; C + 98 ist wirklich veraltet. Und lesen Sie die Dokumentation von [std :: ifstream] (http://en.cppreference.com/w/cpp/io/basic_ifstream) sorgfältig durch. Veröffentlichen Sie auch einige [MCVE] (https://stackoverflow.com/help/mcve). Ihr angezeigter Code verhält sich wahrscheinlich nicht wie Sie sagen –
Hat [diese Antwort] (https://stackoverflow.com/a/6297560/4143855) nicht geholfen? 'std :: fstream ifile (Dateiname.c_str(), ios_base :: out | ios_base :: in);' – Tas
Nicht reproduzierbar https://ideone.com/Z4c2EW –