如何使用 TPL 序列化"std::string"


    std::string content = readFile();
char *carray = const_cast<char*>(content.c_str());
tpl_node *tn = tpl_map("s", carray);
tpl_pack(tn, 0);
tpl_dump(tn, TPL_FILE, "player.dat");
tpl_free(tn);

我想将 std::string 序列化为 tpl_map("s", ...),但它不起作用。在 中引发运行时异常

HelloCppWin32.exe!tpl_pack(tpl_node * r, int i) line 1864 C

您必须将指针传递给 char 数组,而不是 char 数组。请注意从官方 TPL 页面复制的支持格式字符表中的额外 *:

Type    Description     Required argument type
s       string          char**

在您的情况下,这将是:

tpl_node *tn = tpl_map("s", & carray);

相关内容

  • 没有找到相关文章

最新更新