我正在尝试用 C++ 打开一个文件。
我的文件位于 /home/me/myproject/mydir/myfile.txt
我在我的文件系统中检查了该文件存在并且不为空。
我用 getcwd() 检查了我在 /home/me/myproject/
因此,我尝试使用以下命令打开它:
string myfilename;
ifstream myfile;
myfilename = "./mydir∕myfile.txt";
myfile.open(myfilename.c_str(), ios::in);
if (myfile.fail()) {
// I always end up here.
}
我真的不明白为什么 myfile.fail() 总是返回 true。知道为什么会这样,或者我可以执行哪些调试测试来理解它为什么会这样?
我找到了问题所在,谢谢大家。我正在使用远程控制软件,它显然认为“/”(正斜杠)与“/”(除号)不同。我仍然有一个问题困扰着我,但我会在另一篇文章中提出。errno 和 strerror() 帮助我理解出了什么问题。这些错误很难找到,很抱歉它与 c++ 代码没有严格的关系。
(注意:我在这里回答是因为显然我无法回答自己的问题)。