1

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

ifstream inFile ("EMPLOYEE.DAT");

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

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

4

2 回答 2

3

如果您在 Visual Studio 环境中运行,请注意您的可执行文件可能与数据文件不在同一目录中。默认情况下,二进制文件倾向于内置到Debugor文件夹中。Release你有几个选择:

  1. 将您的数据文件移动到正确的目录中。
  2. 设置工作目录(在您的项目设置中,在“调试”下)。
  3. 使用完整或相对路径作为文件名。

也有可能您正在寻找正确的位置,但文件已被锁定。确保它没有在任何可能阻止其他进程打开它的编辑器或其他程序中打开。

于 2013-06-06T02:37:35.003 回答
1

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

于 2013-06-06T02:50:05.367 回答