отправить вывод lua на не стандартный вывод

У меня есть программа c со встроенным Lua. на данный момент это просто привет, мир. прежде чем двигаться дальше, я хотел бы иметь возможность отправить вывод lua куда-нибудь, кроме stdout, чтобы я мог каким-то образом манипулировать им. Вот мой код:

#include <stdio.h>

#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

int main() {
    lua_State *luaVM = luaL_newstate();
    //char result[1024];

    if (luaVM == NULL) {
        printf("Error initializing lua!\n");
        return -1;
    }
    luaL_openlibs(luaVM);
    luaL_dostring(luaVM, "print(\"hello world!\")");
    //Somehow put the output into result

    //printf("%s\n%s\n", result, result);

    lua_close(luaVM);
    return 0;
}

Например, я хотел бы использовать result, увиденный в комментариях, чтобы дважды напечатать результат кода lua. Можно ли это сделать?

5
задан ewok 9 August 2012 в 14:39
поделиться