C++ c++/Lua-将多个Lua文件名加载到c++;字符串[自动]
我想把一个字典中的多个文件名(例如“数据/LuaAfile”)加载到C++字符串中,而不必手动添加它们。例如,每当我添加一个新文件时,我应该能够在启动程序时使用它,而无需添加任何代码。目前我使用Sol2.0 我可以将所有文件名保存到新的.txt文件中吗?(使用lua脚本?) 有没有办法存档 我查了谷歌,但什么也没找到 谢谢 如果“字典”是指Lua表:C++ c++/Lua-将多个Lua文件名加载到c++;字符串[自动],c++,lua,fstream,C++,Lua,Fstream,我想把一个字典中的多个文件名(例如“数据/LuaAfile”)加载到C++字符串中,而不必手动添加它们。例如,每当我添加一个新文件时,我应该能够在启动程序时使用它,而无需添加任何代码。目前我使用Sol2.0 我可以将所有文件名保存到新的.txt文件中吗?(使用lua脚本?) 有没有办法存档 我查了谷歌,但什么也没找到 谢谢 如果“字典”是指Lua表: fileNames = { "file1.txt", "file2.txt", "file3.txt" } 然后就可以
fileNames = {
"file1.txt",
"file2.txt",
"file3.txt"
}
然后就可以像table.concat(fileNames,“,”)
一样简单了。它将返回一个字符串,然后您可以将其保存到一个全局变量中:
fileNamesString = table.concat(fileNames, ",")
然后使用SOL从C++侧读取。不过,我想知道是否有必要多走一步;我认为该库支持直接表访问。考虑到这一点,只要:
sol::lua_state lua;
// read your script file here
for (std::string const& fileName : lua["fileNames"]) {
// do your operation
}
@哦,好的。那么您想从一个文件夹加载所有lua脚本?从Lua侧还是C++侧?(谁会做<代码> Ls/COD>等价?)是的,进入C++ String/C++边(?)每当我创建一个新的.lua文件时,新的文件名应该自动添加。@AutobahnPolizei那么你需要类似于
Boost.Filesystem
的东西。它不是C++标准的特性。