Lua 返回字符串 C++

lua return string c++

本文关键字:C++ 字符串 返回 Lua      更新时间:2023-10-16

Lua上有一个函数:

STRING getClassesList()

它返回字符串,就像在 c++ 上一样:

这不起作用:

Const char * ClassesStr;
Lua_getglobal (L, "getClassesList");
Lua_pcall (L, 1, 1, 0);
ClassesStr = lua_tostring (L, 1);

堆栈:"readQuikAgent"尝试调用表值">

该函数旨在获取在通信会话期间从服务器发送的类代码列表。列表中的类代码用逗号","分隔。在收到的行的末尾,始终附加符号","。

通话形式:

字符串获取类列表 ()

例:

列表 = 获取类列表 ()

由于上述代码行,list 变量包含以下形式的字符串:

OPTEXP, USDRUB, PSOPT, PSFUT, SPBFUT

"尝试调用表值"意味着lua堆栈顶部的项目是table而不是function

所以getglobal的结果是一个表,不能调用。

它有效(谢谢 siffiejoe):

lua_pcall(L, 0, 1, 0);
ClassesStr = lua_tostring(L, -1);