Eclipse 无法打开作为参数给出的文件

Eclipse can't open file given as argument

本文关键字:参数 文件 Eclipse      更新时间:2023-10-16

我有一个非常简单的代码片段,用于访问文件并对其内容进行处理:

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也是如此),但当我尝试运行它时,我有两种不同的行为:

  1. 使用终端,例如./test ../workDir/inputFile,程序正确运行并访问具有该路径的文件的内容。

  2. 使用Eclipse,在将Run->Configurations->Arguments中的Input Arguments设置为../workDir/inputFile后,我会收到以下错误提示:

错误:无法打开输入文件[../workDir/inputFile]

我相信这在我的代码中不是问题,因为当我从终端启动时,它运行时没有错误,那么我为Eclipse定义参数的方式有什么问题呢?有没有一种从IDE打开文件的特殊方法?

Eclipse(以及我使用过的其他所有IDE的AFAIK)从项目目录运行程序,但将可执行文件存储在其他地方。

以执行您的项目/测试中,您位于"可执行的其他位置"目录中。

根据您的说法,从IDE运行的正确路径应该是WorkDir/inputfile,因为WorkDir在您的项目目录中,对吧?