包括c+中的其他文件+;用于文件I/O < >是否有一种方法将文件添加到C++程序中的EXTEX.EXE? 例如,假设我想播放一个声音文件。与release.exe单独包含声音文件不同,该文件应该是exe的一部分。 我知道在C++中使用资源文件。在MSDN网站上的文章说,可以在VisualC++中使用资源。我可以在Eclipse上使用它们吗?还请解释如何使用它们。

包括c+中的其他文件+;用于文件I/O < >是否有一种方法将文件添加到C++程序中的EXTEX.EXE? 例如,假设我想播放一个声音文件。与release.exe单独包含声音文件不同,该文件应该是exe的一部分。 我知道在C++中使用资源文件。在MSDN网站上的文章说,可以在VisualC++中使用资源。我可以在Eclipse上使用它们吗?还请解释如何使用它们。,c++,file-io,eclipse-plugin,embedded-resource,mingw32,C++,File Io,Eclipse Plugin,Embedded Resource,Mingw32,建议: 实际上,最简单的方法是简单地将二进制内容附加到.exe的末尾。在此之后附加一个4字节的“length”值。它不会影响您运行.exe的能力。然后,在运行时: 1) 以二进制文件只读方式打开.exe 2) fseek(或等效文件)到.exe大小-4 3) 读长度 4) fseek到exe大小-长度-4 5) 读取二进制文件 这适用于DOS、Windows和Linux文件。最好的可移植方法可能是在一个文件中有一个大的静态字节数组。我知道你可以相对容易地对图像执行此操作,但对其他数据段的想法应该

建议:

实际上,最简单的方法是简单地将二进制内容附加到.exe的末尾。在此之后附加一个4字节的“length”值。它不会影响您运行.exe的能力。然后,在运行时:

1) 以二进制文件只读方式打开.exe

2) fseek(或等效文件)到.exe大小-4

3) 读长度

4) fseek到exe大小-长度-4

5) 读取二进制文件


这适用于DOS、Windows和Linux文件。

最好的可移植方法可能是在一个文件中有一个大的静态字节数组。我知道你可以相对容易地对图像执行此操作,但对其他数据段的想法应该是相同的。我如何在我的.exe中“包含”该文件?首先,我该如何从图像中创建一个字节数组?@viraj:通常通过将二进制文件转换为数组声明:
char-sound\u-foo\u-wav[]={0,5,-42,
,然后在unixy系统中编译它。在unixy系统中,
xxd-I
可以做到这一点。您如何准确地转换图像(如位图或jpeg)到二进制文件?编辑:如果我用记事本打开一个图像,我是在看它的二进制文件吗?图像是一个二进制文件。因此,文本文件也是。如果你在记事本中打开一个图像,当你将数据解释为文本时,你会看到你得到的字符。