【发布时间】:2015-07-17 15:08:29
【问题描述】:
我正在处理一个需要我打开 HTML 文件并使用其内容的项目。我将它添加到资源文件中,但是当我尝试打开它时,它是这样的:
std::ifstream templateFile;
templateFile.open("filename.html", std::ifstream::in);
操作失败。我使用templateFile.fail() 进行了检查。
当我提供完整路径时,上述操作有效。该文件与其他文件一起位于项目文件夹中。我尝试将构建操作设置为内容,但它仍然不起作用。请帮忙。
【问题讨论】:
-
您打开的文件不在当前工作目录中。更改 CWD 或使用绝对或正确的相对路径。
-
@CaptainObvlious:该文件与所有其他源文件和头文件位于项目目录中
-
@TapanAnand 如果它确实与 .vcprojx 文件(项目文件夹)在同一个文件夹中,并且您没有做任何事情来覆盖
Debugging项目属性上的调试工作文件夹,它应该工作。对于我至少从 2003 年起我能回忆起的 VS 的每一种风格,默认值确实是$(ProjectDir)。当然,埋在你的代码中的一些chdir会让所有这些都变得毫无意义,但你在你的帖子中没有提到这样的事情。当然,需要适当的权限(显然)。 -
之前可能应该问过这个问题。您是从 IDE 运行的,对?您在问题中对“资源”术语的使用巧妙地表明您正在尝试将 html 文件添加到链接图像的资源表中,这是一个相当大(而且更复杂)的任务,所以我之前评论假定情况不是。
-
我从 IDE 运行。我已将其添加到解决方案资源管理器中显示的资源文件文件夹中。
标签: c++ file-io visual-studio-2013