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

構文は正しいように見えますが、2 つのオプションが残ります。

ファイルが存在しないか、読み取り権限がありません。

両方を確認するには、端末から次のコマンドを実行します。

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

最初の結果は、パスが正しくないことを意味します。

2 番目の結果は、パスが正しいことを意味するため、アクセス許可を確認してください。読み取り権限がない場合... (いずれかr)、ファイルを開くことはできません。

于 2013-10-09T13:32:31.477 に答える