ifstream不会打开

时间:2015-12-23 01:34:25

标签: c++ file

该文件存在于目录中,我尝试在管理员模式下运行Visual Studio。但是,ifstream无法找到我提供给它的文件。 这是我正在使用的代码:

std::ifstream instream;
instream.open("appdata.txt");

if (!instream)
{
    std::cout << "Could not find appdata.txt!";
}

但是当我运行该程序时,我总是受到Could not find appdata.txt!的欢迎。 My Directory

这是我的目录的图片,以证明我拼写正确并且存在。

所以,我的问题是,我是否遗漏了一些非常明显的东西,以至于每次看的时候都会给它上釉?我无法弄清楚为什么本流不能打开appdata.txt

2 个答案:

答案 0 :(得分:1)

当前目录设置为文件所在的目录以外的其他内容(如果从资源管理器执行,则通常是您的主文件夹)。 尝试从文件所在目录的命令行执行程序。

EDIT
如果要将工作目录设置为某个特定位置,请选中:https://msdn.microsoft.com/en-us/library/aa363806.aspx

答案 1 :(得分:1)

右键单击visual studio界面上的项目名称添加文件。 这会将您的文件保存在正确的目录中。

如果你想自己添加目录,首先使用我上面提到的方法添加一个文件,并找到你应该保留的文件夹,这样你就可以通过提到文件名来使用该文件。然后,您可以在该文件夹中添加文件。