第一次使用ifstream。找不到档案;保存在目录中

时间:2013-06-06 02:30:31

标签: c++ visual-studio-2010 ifstream

我正在编写一个使用<fstream>的程序。我需要包含的文件名为 employee.dat ,它列在目录中。我提出了cout声明:

ifstream inFile ("EMPLOYEE.DAT");

if (! inFile)
{
    cout << "!!Error in opening 'EMPLOYEE.DAT"<< endl;
}

该文件位于目录中,打开/找到它应该没有任何问题。这是我第一次使用ifstream课程。它有什么技巧吗?

2 个答案:

答案 0 :(得分:2)

如果从Visual Studio环境运行,请注意您的可执行文件可能与数据文件不在同一目录中。默认情况下,二进制文件往往会内置到DebugRelease文件夹中。您有几种选择:

  1. 将您的数据文件移动到正确的目录中。
  2. 设置工作目录(在项目设置中,在“调试”下)。
  3. 使用完整或相对路径作为文件名。
  4. 您也可能在正确的位置查找,但文件已被锁定。确保它没有在任何可能阻止其他进程打开它的编辑器或其他程序中打开。

答案 1 :(得分:1)

请注意,在Visual Studio中,工作目录(在“调试”选项卡下的项目属性中设置)是exe在调试时显然位于的位置(而不是exe本身的实际位置)