如何在使用eclipse CDT调试时访问文本文件

how to access a text file while debugging with eclipse CDT

本文关键字:调试 访问 文本 文件 CDT eclipse      更新时间:2023-10-16

我编写这段代码是为了访问eclipse CDT中的文件

ifstream inFile;
ofstream outFile;
string next;
inFile.open("input.txt");
if (inFile.fail())
{
    cout << "nCould not open input.txt";
    exit(1);
}

问题是当我尝试调试我的应用程序或从eclipse内运行我的应用程序时,它找不到input.txt文件。当我从控制台运行我的应用程序时,它工作正常并打开文件。我需要调试应用程序,但不能,因为某些原因,eclipse ide找不到文件。

我应该把文件放在哪里?

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

除了移动源输入文件,您还可以考虑更改启动应用程序的工作目录。

通过设置"Run Configurations"> [The Run]> "Arguments"选项卡> "Working directory"从"${workspace_loc:[Project Name]}"改为"${workspace_loc:[Project Name]}/Release",这是Eclipse通常使用的二进制目标目录。

编写一个创建文件的测试程序,例如"Here_I_Am.txt"。

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

在文件名中添加相应的路径,相对于"Here_I_Am.txt"文件。或者将文本文件放到与"Here_I_Am.txt"相同的目录

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

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

取消选择use default按钮后,选择包含二进制文件的文件夹。二进制文件可以在Run configurations > Arguments > working directory目录下找到