私はこれを解決できないのは恥ずかしいですが、私はこの仕事をすることはできません。私はこの簡単なテストを持っています:ifstreamがファイルを見つけることができません
std::string archnom = "../data/uniform.txt";
ifstream archin(archnom.c_str());
ASSERT(archin.good());
アサートは投げている間違いです。何らかの理由でuniform.txt
ファイルが見つかりません。プロジェクト構造は次のとおりです。
私はすでに次のように成功せずarchnom変更しようとしました:
std::string archnom = "/data/uniform.txt";
std::string archnom = "./data/uniform.txt";
std::string archnom = "../data/uniform.txt";
std::string archnom = "data/uniform.txt";
は、ここでの問題は何ですか?
あなたのプログラムファイルがどこにあるかそれが問題ではありません。実行時の現在の作業ディレクトリは何ですか? – melpomene
問題は、プロセスの現在のディレクトリを把握する必要があることです。これはcc/gccを使ったシェルプロンプトからC++をハックすることを学ぶ "古い学校"の利点の1つです。現代的なポイントアンドドロップGUIのIDEと比べると、疑いの余地はありません。現在のディレクトリが何であるか、そしてすべてのファイルがどこにあるのかについて決して混乱しません。 –
@melpomeneプロジェクトのルートにあります。私はちょうど投稿を編集しました –