正在加载与可执行文件合并的文件
Loading files merged with executable
我正在尝试将一个文件与我的可执行文件合并,并读取合并后的文件。我将它们与Windows命令合并;
copy /b Game.exe+Image.jpg TheGame.exe
以下是我尝试过的:
std::ifstream f("Image.jpg");
if (f.good()) {
std::cout << "Found Image.jpg" << std::endl;
}
Image.jpg
与生成的可执行文件位于同一目录中,并且可以正常工作。然而,当我使用命令合并它们,然后删除Image.jpg
文件时,却找不到它(尽管它与可执行文件合并了。)
有什么建议吗?
ifstream
仅适用于外部文件。你删除了它试图打开的文件,所以它当然找不到该文件。使用二进制合并无法(轻松)完成您正在尝试的操作。如果要将文件存储在可执行文件中,正确的方法是将其存储在资源中。有关详细信息,请阅读MSDN上的以下章节。
资源简介
特别是,下面的例子展示了如何在.exe文件中创建新资源并将数据写入其中。这个例子从另一个.exe文件中复制资源,但你可以随心所欲地写入。在这种情况下,将RT_DIALOG
替换为RT_RCDATA
,然后写入图像数据。
使用资源
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 合并文本文件不同行中的重复项
- 将两个 cpp 文件合并为一个 cpp 文件
- 将所有 *.txt 文件合并到一个文本文件中,其名称由用户使用 C++ 提供
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 是否可以将前向声明和常规声明合并到一个文件中,然后像分开一样使用它?
- 在 C++ 优化中合并大型二进制文件
- 如何将SQLite c文件(合并)与cpp应用程序链接?
- CMake 项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中
- 如何使用可执行文件将我的C++代码合并到我的 Xcode 项目中
- 我的合并sort.h文件中的代码出了什么问题
- 将多个 stl 文件合并为一个
- 合并 c++ obj 文件以进行 C 链接
- 如何在windows上构建Botan合并文件Botan_all.cpp和.h
- C++合并文件时出现问题
- 按最顶端合并文件夹列表
- 为什么多个文件的编译速度比合并文件快得多
- 编写一个C++程序,可以在Linux中从命令行合并文件
- 如何使用Botan合并文件和VS2008
- 在c++(windows)中连接/附加/合并文件,而不进行复制