【问题标题】:How do I store C++ variables in an INI, CFG, or XML file?如何将 C++ 变量存储在 INI、CFG 或 XML 文件中?
【发布时间】:2016-06-07 15:01:45
【问题描述】:

我的 script.cpp 文件包含以下几行:

bool mod_enabled = true;        //Enable/Disable
BYTE display_delay = 15;        //Redisplay delay

理想情况下,mod_enabled 和 display_delay 的值应该从用户可以编辑的外部配置文件中提取。 (代码本身正在编译成 GTA 5 ASI 插件,该插件在游戏开始时运行。)

我不需要在游戏中期保存或更改这些值。什么是最简单的解决方案?

【问题讨论】:

  • 将它们转换为字符串?!例如mod_enabled ? "true" : "false"
  • 我不明白你在说什么。我需要将这些值存储在外部配置文件中,然后在项目中设置它们时从该文件中读取。
  • 将文件作为文本(字符串)读入。转换为内部表示。写成字符串。例如。布尔值“真”/“假!”
  • 你知道如何读写文件吗?
  • 我可以简化它并使每个变量都成为一个字节而不是一个布尔值,并在 1 和 0 中完成整个事情,但同样,我不知道如何将信息从任何一种外部文件。我对 C++ 很陌生,经过三个小时的搜索,我找不到任何有关如何执行此操作的文档。

标签: c++ xml visual-studio config ini


【解决方案1】:

原来解决方案很简单。

INI 文件 (XXX.ini):

[Settings]
mod_enabled=1           // Enable/Disable
display_delay=1         //Redisplay delay

代码:

bool mod_enabled = GetPrivateProfileInt("Settings", "mod_enabled", 1, "./XXX.ini") != 0;
int display_delay = GetPrivateProfileInt("Settings", "display_delay", 15, "./XXX.ini");

!=0 是将整数转换为布尔值所必需的。否则,Visual Studio 会报错。

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多