我有一个 C++ 文档,我需要在其中打开一个文件。我没有使用相对路径来引用我的文件。我目前正在使用硬盘驱动器上的完整文件路径,但稍后我将切换到仅使用当前目录。在任何情况下,我都知道这个文件被正确引用并且可以打开,因为我已经对文件名执行了 stat() 并且它返回了有关该文件的所有正确信息。这是正在发生的基本过程:
string fName = "C:\\Users\\[user]\\Downloads\\file.DAT";
ifstream inFile;
inFile.open(fName);
struct _stat buf; // I put these lines here to test that
int result = _stat(fName.c_str(), &buf); // the file is being referred-to right
inFile >> levelnumber;
if(inFile.fail()) // inFile.fail() keeps evaluating to TRUE
ThrowError("Corrupt or inaccesible .DAT file."); // I wrote ThrowError
无论如何, inFile.fail() 一直评估为真,即使文件肯定被正确引用(这就是对 _stat() 的调用检查的内容)。
我究竟做错了什么?:P