Eclipse 无法打开作为参数给出的文件
Eclipse can't open file given as argument
我有一个非常简单的代码片段,用于访问文件并对其内容进行处理:
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也是如此),但当我尝试运行它时,我有两种不同的行为:
使用终端,例如
./test ../workDir/inputFile
,程序正确运行并访问具有该路径的文件的内容。使用Eclipse,在将Run->Configurations->Arguments中的Input Arguments设置为
../workDir/inputFile
后,我会收到以下错误提示:
错误:无法打开输入文件[../workDir/inputFile]
我相信这在我的代码中不是问题,因为当我从终端启动时,它运行时没有错误,那么我为Eclipse定义参数的方式有什么问题呢?有没有一种从IDE打开文件的特殊方法?
Eclipse(以及我使用过的其他所有IDE的AFAIK)从项目目录运行程序,但将可执行文件存储在其他地方。
以执行您的项目/测试中,您位于"可执行的其他位置"目录中。
根据您的说法,从IDE运行的正确路径应该是WorkDir/inputfile,因为WorkDir在您的项目目录中,对吧?
相关文章:
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 是否可以在命令行中将输入参数传递给可执行文件
- 如何使用输入参数作为文件的传递?
- 隐蔽的 gcc 参数到 CMake 文件
- 生成文件文件名参数
- 在实现文件中使用模板参数声明方法
- 提供变量作为 MATLAB 系统命令的输入参数,以便C++可执行文件
- 如何在 c++ 窗口中将参数和返回的退出值传递到批处理文件/从批处理文件获取返回的退出值
- 编写一个将 LLVM IR 文件作为命令行参数的程序
- 通过命令行参数获取llvm ir文件时面临问题
- 如何使输入文本文件成为构造函数参数?c++
- (C/C++)fscanf_s从txt文件以字符形式读取数组时缺少整数参数错误
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 读取用户必须提供一些参数的文件
- 如何使用 QProcess 设置参数以运行类文件?
- 可变参数模板在目标文件中有重复的符号?
- c++ 文件的参数
- accept(..) 似乎正在修改我给它的文件描述符参数
- C++ 找不到命令行参数(文件)