使用lua在文件中写入特定字节

使用lua在文件中写入特定字节,lua,Lua,我想在.txt文件中写入一个特定字节,例如: 文本文件 某物 代码 忧郁的 我想这样做,但不使用io.write()覆盖整个文件 我希望我的问题很容易理解。首先,您需要确定以何种模式打开文件r不允许你写,所以它被删除了a和a+只允许你写到最后,所以它们不存在w和w+删除整个文件,这样它们就不存在了。这就剩下r+ 接下来,您需要找到文件中正确的位置。seek功能会执行此操作。在您的情况下,您希望转到超过开头3个字节的位置 最后,只需编写数据并关闭文件 local file = io.open('f

我想在.txt文件中写入一个特定字节,例如: 文本文件

某物

代码

忧郁的

我想这样做,但不使用io.write()覆盖整个文件


我希望我的问题很容易理解。

首先,您需要确定以何种模式打开文件
r
不允许你写,所以它被删除了
a
a+
只允许你写到最后,所以它们不存在
w
w+
删除整个文件,这样它们就不存在了。这就剩下
r+

接下来,您需要找到文件中正确的位置。
seek
功能会执行此操作。在您的情况下,您希望转到超过开头3个字节的位置

最后,只需编写数据并关闭文件

local file = io.open('filename.txt', 'r+')
file:seek('set', 3)
file:write('4')
file:close()

首先,您需要确定以何种模式打开文件
r
不允许你写,所以它被删除了
a
a+
只允许你写到最后,所以它们不存在
w
w+
删除整个文件,这样它们就不存在了。这就剩下
r+

接下来,您需要找到文件中正确的位置。
seek
功能会执行此操作。在您的情况下,您希望转到超过开头3个字节的位置

最后,只需编写数据并关闭文件

local file = io.open('filename.txt', 'r+')
file:seek('set', 3)
file:write('4')
file:close()

非常感谢。实际上,我不知道你能做
f:write()
,我总是做
io.input(f)io.write('4')
。我真的很感激你回答得很快。我刚刚注意到,我想打开的字节总是字母位置减去1?@ProgrammingIsLearning是的,它是以零为基础的,与Lua中的其他内容不同。谢谢!实际上,我不知道你能做
f:write()
,我总是做
io.input(f)io.write('4')
。我真的很感激你回答得很快。我刚刚注意到,我要打开的字节总是字母位置减去1?@ProgrammingIsLearning是的,它是以零为基础的,与Lua中的其他内容不同。