Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在调试EclipseCDT时访问文本文件_C++_C_Linux_Eclipse_Eclipse Cdt - Fatal编程技术网

C++ 如何在调试EclipseCDT时访问文本文件

C++ 如何在调试EclipseCDT时访问文本文件,c++,c,linux,eclipse,eclipse-cdt,C++,C,Linux,Eclipse,Eclipse Cdt,我写这段代码是为了访问EclipseCDT中的一个文件 ifstream inFile; ofstream outFile; string next; inFile.open("input.txt"); if (inFile.fail()) { cout << "\nCould not open input.txt"; exit(1); } ifstream-infle; 出流孔的直径; 下一个字符串; infle.open(“input.txt”); if(i

我写这段代码是为了访问EclipseCDT中的一个文件

ifstream inFile;
ofstream outFile;
string next;

inFile.open("input.txt");
if (inFile.fail())
{
    cout << "\nCould not open input.txt";
    exit(1);

}
ifstream-infle;
出流孔的直径;
下一个字符串;
infle.open(“input.txt”);
if(infle.fail())
{

cout这可能是相对路径的问题。项目的根目录中是否存在
input.txt
?Eclipse将项目的顶级目录作为工作目录。如果替换
“input.txt”
在您的代码中使用完全限定的文件名,这也应该有效。

编写一个创建文件的测试程序,例如“Here\u I\u Am.txt”

找到该文件的目录将是可执行文件用作默认目录的目录


根据需要为文件名添加相对于“Here_I_Am.txt”文件的路径。或者将文本文件放在与“Here_I_Am.txt”相同的目录中

我发现在Eclipse中,将文件放在项目的根目录中应该可以让它加载。但是,如果要从命令行运行它,文件需要与可执行文件放在同一文件夹中(类似于项目文件夹中的Debug/文件夹)


它应该将文件拖放到Eclipse项目中。只要确保选择复制文件的选项,而不是链接到它。

< P>除了移动源输入文件之外,您可以考虑更改工作目录来启动应用程序。


通过将“运行配置”>[运行]>“参数”选项卡>“工作目录”从“${workspace\u loc:[Project Name]}”设置为“${workspace\u loc:[Project Name]}/Release”,这是Eclipse常用的二进制目标目录。

取消选择“使用默认值”按钮后,选择包含二进制文件的文件夹。二进制文件可以在
运行配置>参数>工作目录下找到。谢谢,就是这样。我觉得它“必须”在同一目录下如果您使用“filenameOnly.txt”引用它,但将它的副本放入项目根目录中,则可以将其作为可执行文件!@georgelappies:是的,我不知道Eclipse为什么会这样做。您肯定希望工作目录位于src或bin文件夹中。您可以使用“工作目录”设置此位置运行/调试配置的。