ファイルにアクセスし、そのコンテンツで何かを行う非常に単純なコード スニペットがあります。
void MyClass::initialize( string filePath )
{
ifstream inputFile;
inputFile.open( filePath.c_str(), fstream::in );
if( inputFile.is_open() )
{
//do something
}else{
cout << "Error: not able to open input file [" << filePath << "]" << endl;
}
}
このコード スニペットを含むプロジェクトは Eclipse で正常にコンパイルされます (端末から独自の makefile を使用した場合も同様です) が、実行しようとすると 2 つの異なる動作が発生します。
端末では、たとえば
./test ../workDir/inputFile
、プログラムは正しく実行され、そのパスでファイルの内容にアクセスします。Eclipse では、Run->Configurations->Arguments で Input Arguments を設定する
../workDir/inputFile
と、次のエラーが表示されます。
エラー: 入力ファイルを開けません [../workDir/inputFile]
ターミナルから起動するとエラーなしで実行されるため、コードに問題はないと思いますが、Eclipse の引数を定義する方法の問題は何ですか? IDE からファイルを開く特定の方法はありますか?