c ++无法找到文件(我认为)

kra*_*626 2 c++ eclipse file eclipse-cdt

我有以下代码(简化)

int main()
{
    ifstream myFile("input.txt");
    if(myFile.is_open())
        cout<<"test";
}
Run Code Online (Sandbox Code Playgroud)

但是myFile.is_open()返回假;

为什么?

我正在使用eclipse并且input.txt文件位于带有.cpp文件的src文件夹中...

谢谢!

Kos*_*Kos 7

默认情况下,每个可执行文件都从项目目录运行.所以对于这样的树:

project
 |- src
 |  |- a.cpp
 |  |- b.cpp
 |  |- foo.txt
 |
 |- Debug
 |  |- a.exe
 |
 |- foo2.txt
Run Code Online (Sandbox Code Playgroud)

你应该使用像src/foo.txt或的路径foo2.txt.您的exe位于Debug目录中,但无论如何它都将从您项目的目录运行.通过这种方式,每个构建配置的可执行文件都以相同的方式运行(来自同一个地方).

您可以在"运行配置"下更改工作目录和参数("运行"图标旁边的下拉菜单).切换到"参数"选项卡,取消选中"使用默认值"并设置您想要的默认设置,如果默认设置不合适.