【问题标题】:Embedding data inside a c++ application在 C++ 应用程序中嵌入数据
【发布时间】:2009-04-26 04:01:52
【问题描述】:

是否有独立于平台的方法将文件数据嵌入到 c++ 程序中?例如,我正在制作一个游戏,并且关卡以文本格式存储。但我不想将这些文本文件与游戏本身一起分发。我有哪些选择?

【问题讨论】:

    标签: c++ cross-platform


    【解决方案1】:

    这是asked here before。基本上,您只需使用可访问的符号命名数据。我最喜欢这种方法:

    您始终可以编写一个小程序或脚本将您的文本文件转换为头文件 >> 文件并将其作为构建过程的一部分运行。

    【讨论】:

      【解决方案2】:

      您始终可以将文本放入代码中。例如,作为字符串数组或字符指针数组。

      String txt[] = {
        "My first line.\n",
        "My second line.\n"
      }
      

      当然,标准库中有更好的结构,但无论如何你把文本放在源文件中。

      如果您担心有人访问它,您也可以考虑将文本放入包中并对其进行加密。

      【讨论】:

        【解决方案3】:

        如果关卡真的只是简单地存储为文本,您可以在源代码中声明静态字符数组:

        static const char level1[] = "abcdeabcdeabcde....";
        

        您可以将其编译并链接到您的应用程序中,并像引用任何其他变量一样引用它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-09-09
          • 2011-05-05
          • 1970-01-01
          • 2015-09-30
          • 2017-09-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多