gpt4 book ai didi

c++ - 如何从lua文件中获取字符串到C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:43:33 26 4
gpt4 key购买 nike

我正在尝试将 lua 中的字符串转换为 C++ 中的 char。但出于某种原因,它返回一个指针或一个数字。我可以使用我在这方面获得的所有帮助。这是我正在尝试做的一个例子:

Lua文件:

logo = "ad.png"

C 文件:

lua_State *L = luaL_newstate();
luaL_openlibs(L);
luaL_dofile(L,"fuel.lua");
const char* logoX;

lua_getglobal(L, "logo");
if(lua_isnil(L,-1)){
printf("is nil!\n");
}
else{
logoX = lua_tostring(L, -1);
printf("the logo is %d\n", *logoX);
}

但这是打印出“ Logo 是 105”的文本。任何帮助表示赞赏。谢谢!

最佳答案

问题出在您的 printf 语句中:

printf("the logo is %d\n", *logoX);

您正在使用整数格式字符串 (%d),并且您正在发送一个字符参数(*logoX,这是您的字符串的第一个字符)。所以打印的值是字符串的第一个字符整数值。

要让它工作,将 printf 语句更改为:

printf("the logo is %s\n", logoX);

关于c++ - 如何从lua文件中获取字符串到C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com