Io 打开文件模式字符串w+;
我知道io.open(file,“w”)的作用,它表示写入。但是,我遇到了Io 打开文件模式字符串w+;,io,lua,Io,Lua,我知道io.open(file,“w”)的作用,它表示写入。但是,我遇到了io.open(文件,“w+”)并且找不到“w+”的作用 参考手册中的 模式字符串可以是以下任意一种: “r”:读取模式(默认) “w”:写入模式 “a”:附加模式 “r+”:更新模式,保留所有以前的数据 “w+”:更新模式,删除所有以前的数据 “a+”:追加更新模式,保留以前的数据,只允许在文件末尾写入 这里的更新模式意味着,输入和输出都可以在 相关文件。我在OpenWRT上运行的Lua5.1中测试了这个,发现 fi
io.open(文件,“w+”)
并且找不到“w+”的作用 参考手册中的
模式
字符串可以是以下任意一种:
- “r”:读取模式(默认)李>
- “w”:写入模式李>
- “a”:附加模式李>
- “r+”:更新模式,保留所有以前的数据李>
- “w+”:更新模式,删除所有以前的数据强>
- “a+”:追加更新模式,保留以前的数据,只允许在文件末尾写入
相关文件。我在OpenWRT上运行的Lua5.1中测试了这个,发现
file=io.open("/usr/share/result","w")
和
file=io.open("/usr/share/result","w+")
这两个操作都删除了文件的当前内容并重新写入
当我试着
file=io.open("/usr/share/result","a")
文件被附加到-每次我的代码运行时,它都变得越来越长
所以我不认为有什么区别。io.open只使用C的fopen。您可以检查
- w:将文件截断为零长度或创建用于写入的文本文件。 流位于文件的开头
- w+:与w相同,除了返回的句柄可用于
阅读
“w”
模式,您只能输出到文件,而使用“w+”
模式,输入和输出都可以执行。顺便提一下,如果“w”
和“w+,您真的认为语言设计者(不仅是Lua,而且是C/Python/Ruby等)会同时保留这两种模式吗
我们真的一样吗?非常感谢,这是最好的解释。