lua - 不会对具有完全缓冲的文件执行输出操作
问题描述
缓冲区已满后,此片段不会将 90 个字符的流写入文件
"full" 表示当缓冲区已满或我们显式刷新文件时执行输出操作。通过写出: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。
解决方案
推荐阅读
- java - 安卓工作室;布局; 设计视图;
- pytorch - PyTorch 错误加载保存的 nn.Module:对象没有属性“to”
- modal-dialog - React Admin - 在模态中创建和编辑
- python - 自动扫描文档图像增强
- view - 根据底视图的可见性,协调器布局中的多浮动按钮
- android - 我在 ios 上收到推送通知,但在 Android 上没有
- maven - 使用 vsts 的 Maven 包提要时无法解析非 Maven 工件
- php - BadMethodCallException:调用未定义的方法 - laravel php
- linux - 如何在没有密码提示的情况下从脚本写入 /etc/sudoers 文件?
- node.js - 使用 Typescript 和 nodeJS 找不到模块“fs”