【发布时间】:2009-04-26 04:01:52
【问题描述】:
是否有独立于平台的方法将文件数据嵌入到 c++ 程序中?例如,我正在制作一个游戏,并且关卡以文本格式存储。但我不想将这些文本文件与游戏本身一起分发。我有哪些选择?
【问题讨论】:
标签: c++ cross-platform
是否有独立于平台的方法将文件数据嵌入到 c++ 程序中?例如,我正在制作一个游戏,并且关卡以文本格式存储。但我不想将这些文本文件与游戏本身一起分发。我有哪些选择?
【问题讨论】:
标签: c++ cross-platform
这是asked here before。基本上,您只需使用可访问的符号命名数据。我最喜欢这种方法:
您始终可以编写一个小程序或脚本将您的文本文件转换为头文件 >> 文件并将其作为构建过程的一部分运行。
【讨论】:
您始终可以将文本放入代码中。例如,作为字符串数组或字符指针数组。
String txt[] = {
"My first line.\n",
"My second line.\n"
}
当然,标准库中有更好的结构,但无论如何你把文本放在源文件中。
如果您担心有人访问它,您也可以考虑将文本放入包中并对其进行加密。
【讨论】:
如果关卡真的只是简单地存储为文本,您可以在源代码中声明静态字符数组:
static const char level1[] = "abcdeabcdeabcde....";
您可以将其编译并链接到您的应用程序中,并像引用任何其他变量一样引用它。
【讨论】: