首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ -加载数据文件失败!

C++ -加载数据文件失败!
EN

Stack Overflow用户
提问于 2010-01-03 13:35:23
回答 4查看 632关注 0票数 0

我想在C++程序中加载一个简单的数据文件。由于奇怪的原因,它不起作用:

假设该文件位于同一个目录: file,我在上试用了该文件。

  • 通过将该文件移动到C:\
  • :worked.
  • ,在Linux上尝试了该文件,将该文件放在同一个目录中: file .

片段:

代码语言:javascript
复制
void World::loadMap(string inFileName) {
  ifstream file(inFileName.c_str(), ios::in);
  if (file) {
  }
  else 
  {
    cout<<"Error when loading the file \n";
    exit(-1);
  }
}

我像这样调用loadMap方法:

代码语言:javascript
复制
World::Instance()->loadMap("Map.dat");

(世界是一个单身阶层)。

我怎样才能找到准确的错误,通过尝试-捕捉或其他任何东西?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-03 17:59:46

问题是工作目录。

当为文件指定相对路径时,它使用工作目录(可能与应用程序存储在文件系统上的目录不同)。

因此,

  • 需要使用绝对路径.
  • ,或者需要找到当前工作目录并指定相对于.
  • 的文件,或者更改当前工作目录.

票数 1
EN

Stack Overflow用户

发布于 2010-01-03 13:41:44

默认情况下,未能打开(或任何其他I/O操作)的文件不会引发异常。您可以改变这种行为,但是标准仍然没有提供从异常中提取失败的确切原因的方法。

票数 2
EN

Stack Overflow用户

发布于 2010-01-03 13:42:18

Linux文件名区分大小写.

您的文件实际名为map.dat吗?

另外,您是否尝试将该文件放在当前目录中?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1994970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档