lua加载文件 读取数据到C

void load (lua_State *L, const char *fname, int *w, int *h) {
    if (luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0))
        return;
        //rror(L, "cannot run config. file: %s", lua_tostring(L, -1));
    lua_getglobal(L, "width");
    lua_getglobal(L, "height");
    if (!lua_isnumber(L, -2))
        return;
        //error(L, "'width' should be a number\n");
    if (!lua_isnumber(L, -1))
        return;
        //error(L, "'height' should be a number\n");
    *w = lua_tointeger(L, -2);
    *h = lua_tointeger(L, -1);
}
int main () 
{
    lua_State *L = luaL_newstate(); /* opens Lua */
    luaL_openlibs(L); /* opens the standard libraries */
    
    int w=0;
    int h=0;
    
    load(L,"test.lua",&w,&h);
    printf("w:%d,h:%d\n",w,h);

    lua_close(L);
    return 0;
}

你可能感兴趣的:(Lua)