我有一个如下表。
Table = {
1, 2, 3,
6, 7, 8,
11, 12, 13,...
}
我想读取该表并说明读取了多少值,我在下面的代码中遇到的问题越多,读取 PANIC 时总是出现以下错误:调用 Lua API 时出现不受保护的错误
我使用的是lua 5.2,错误在这里指出
lua_getfield (L, -1, "Table");
有人可以帮我读一下吗,我是lua的新手。
void read_table(void) {
int var1;
long double var2;
lua_State *L;
L = = luaL_newstate();
luaL_openlibs(L);
if (luaL_loadfile(L, "table.lua") || lua_pcall(L, 0, 0, 0)) {
printf("cannot run cofig file: %s\n");
return;
}
else {
lua_getfield(L, -1, "Table");
if (lua_type(L, -1) == 5) {
var1 = 1;
while (1)
{
lua_pushnumber(L, var2);
lua_gettable(L, -2);
if (!lua_isnumber(L, -1))
break;
lua_tonumber(L, -1);
lua_settop(L, -2);
++var1;
lua_close(L);
}
printf("table %d invalid\n", var1);
}
else {
printf("table should be a table\n");
}
}
printf("Reading %d numbers\n", var1);
}