В основном я читаю содержимое файла, используя fstream, затем преобразую его в тип const char *. Я поставляю это Луа, и Луа что-то с этим сделает. Это, однако, не работает. Что работает, если я делаю:
const char* data = "print('Hello world')";
luaL_pushstring(L, data);
luaL_setglobal(L, "z");
Они оба относятся к типу const char * type и представляют собой одну и ту же строку (например, я сравнил две длины). За исключением одного работает, а другой. Я сбит с толку. Любая помощь здесь? Вот код:
std::string line,text;
std::ifstream in("test.txt");
while(std::getline(in, line))
{
text += line;
}
const char* data = text.c_str();
luaL_pushstring(L, data);
luaL_setglobal(L, "z");
Вот код Lua:
loadstring(z)()