在缓冲区已满后,此片段不会将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。