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 将内容加载到内存里边 因为我还需要解密所以必须使用这个
...全文
447 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwl777 2014-07-26
  • 打赏
  • 举报
回复
换掉fopen_s换CFILE 加SHARE属性

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧