1

我正在尝试打开一个文件进行阅读:

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 工作。

4

1 回答 1

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),那么您将无法打开该文件。

于 2013-10-09T13:32:31.477 回答