LUA脚本问题 luaL_dostring加载脚本 无法删除
傷狠羙 2014-05-25 01:55:47
pLua = lua_open();
luaL_openlibs(pLua);
luaopen_table(pLua);
FILE *fp;
fopen_s(&fp,"C:\\脚本.lua","rb");
if(fp)
{
fseek(fp, 0, SEEK_END);
int len = ftell(fp);
if(len > 0)
{
fseek(fp, 0, SEEK_SET);
char *buff = new char[len + 1];
memset(buff,0,len + 1);
fread(buff, len, 1, fp);
buff[len] = '\0';
luaL_dostring(pLua, buff + 4);////执行字符串中的源代码
delete []buff;
}
fclose(fp);
}
lua_close(pLua);
本人这样使用 luaL_dostring 加载后 可以运行正常 但是 我要修改脚本内容 在编辑保存 会提示当前脚本正在使用中 不知道如何解决
使用 luaL_dofile(pLua,PathFile); 加载就可以中途修改编辑
但我就必须使用luaL_dostring 将内容加载到内存里边 因为我还需要解密所以必须使用这个