没有对具有完全缓冲的文件执行输出操作

时间:2019-01-30 13:37:01

标签: lua buffering

在缓冲区已满后,此片段不会将90个字符的流写入文件

“已满”表示在缓冲区已满或显式刷新文件时执行输出操作。通过写出:write(string.rep(“ A”,90))并用记事本打开文件,我可以看到文本。

此片段不会写入文件

out = io.open("E:\\file","w")
out:setvbuf("full",90)
out:write(string.rep("A",89))
out:write("A")

另一方面,此片段确实会写入文件

out = io.open("E:\\file","w")
out:setvbuf("full",90)
out:write(string.rep("A",90))

这似乎是一个简单的问题,但实际上让我感到惊讶的是,由于进行了如此微不足道的更改,第一个片段并没有将任何内容写入文件。为什么会这样?顺便说一句,我正在使用Lua 5.3.4。

0 个答案:

没有答案