我想知道如何在某种函数中使用 lua 将一行放入数组中
例如。FileToArray("C:/file.txt")?
我知道我可以使用: var = io.open("file") Data = var:read() 但它只返回第一行,没有其他行。
任何人都知道如何解决这个问题或其他方式?我是 lua 和文件系统的新手。
您可以传递"*a"
给读取函数,它应该读取整个文件:
local file = io.open("file-name", "r");
local data = file:read("*a")
如果你想将每一行存储在一个数组中。像 Jane 的解决方案一样,您可以使用 io:lines () - 它返回迭代器函数(每次调用都会为您提供一个新行)
local file = io.open("file-name", "r");
local arr = {}
for line in file:lines() do
table.insert (arr, line);
end
local file = io.open("c:\\file.txt")
local tbllines = {}
local i = 0
if file then
for line in file:lines() do
i = i + 1
tbllines[i] = line
end
file:close()
else
error('file not found')
end