我正在尝试打开一个文件进行阅读:
cout << file_path << endl;
fstream myfile(file_path.c_str(), std::ios_base::in);
if (myfile.is_open())
cout << "Yahhy!! file Opend successfully" << endl;
else
cout << "Wohoo!! Wrong path" << endl;
输出结果为:
/home/umar/Desktop/DateFile/dha_dataset.gfp
Wohoo!! Wrong path
路径正确 - 文件存在,但不打开文件。是我的代码或其他地方的问题吗?
我在Ubuntu工作。
答案 0 :(得分:3)
语法看起来正确,这将留下两个选项:
文件不存在,或者您没有读取权限。
要检查两者,请从终端执行以下命令:
ls -l /home/umar/Desktop/DateFile/dha_dataset.gfp
查看结果,它们应该类似于:
ls: cannot access /home/umar/Desktop/DateFile/dha_dataset.gfp: No such file or directory
或:
-rw-rw-rw xxx yyy 1025 Oct 9 2013 dha_dataset.gfp
第一个结果表示路径不正确。
第二个结果表示路径正确,请查看权限。如果您没有读取权限...(r
之一),那么您将无法打开该文件。