У меня есть приложение C++, которое взаимодействует с lua-файлами. У меня есть файл lua, который извлекает zip-файлы, которые работают, когда я запускаю его с помощью SciTe или командной строки Lua. Но когда я пытаюсь запустить его из приложения C++, он, похоже, не работает.Почему luazip извлекает файлы при вызове из приложения C++?
require "zip"
function ExtractZipFiles(zipFilename, destinationPath)
zipFile, err = zip.open(zipFilename)
-- iterate through each file insize the zip file
for file in zipFile:files() do
currentFile, err = zipFile:open(file.filename)
currentFileContents = currentFile:read("*a") -- read entire contents of current file
currentFile:close()
hBinaryOutput = io.open(destinationPath .. file.filename, "wb")
-- write current file inside zip to a file outside zip
if(hBinaryOutput)then
hBinaryOutput:write(currentFileContents)
hBinaryOutput:close()
end
end
zipFile:close()
end
-- Unit Test
ExtractZipFiles("SZProcessTests.zip", "Infections\\")
Если я Lua установлен на компьютере и дважды щелкните на файле Lua он работает и файлы будут извлечены, как и ожидалось. Но, это не работает, если я пытаюсь запустить файл Lua от C++, как это:
void CSZTestClientMessagesDlg::OnBtnExecute()
{
L = lua_open();
luaL_openlibs(L);
luaL_dofile(L, "ExtractZipFiles.lua");
lua_close(L);
return;
}
Какие ошибки вы получаете? –