如何在使用Eclipse CDT进行debugging时访问文本文件

我正在编写这个代码来访问eclipse CDT中的一个文件

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

问题是当我尝试debugging我的应用程序或从eclipse内运行我的应用程序,它无法findinput.txt文件。 当我从控制台运行我的应用程序,它工作正常,并打开文件。 我需要debugging的应用程序,但不能因为某些原因,Eclipse IDE无法find该文件。

我应该在哪里放置文件?

Solutions Collecting From Web of "如何在使用Eclipse CDT进行debugging时访问文本文件"

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

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

通过将“$ {workspace_loc:[Project Name]}”中的“Run Configurations”> [RUN]>“Arguments”选项卡>“Working directory”设置为“$ {workspace_loc:[Project Name]} / Release” ,这是Eclipse常用的二进制目标目录。

编写一个创建文件的测试程序,比如“Here_I_Am.txt”。

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

相对于“Here_I_Am.txt”文件,根据需要添加路径到您的文件名。 或者把你的文本文件放在与“Here_I_Am.txt”相同的目录下

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

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

取消选择使用默认按钮后,选择包含您的二进制文件的文件夹。 二进制文件可以在Run configurations > Arguments > working directory