打开文件模式字符串w +

时间:2014-09-14 07:06:28

标签: io lua

我知道io.open(file, "w")做了什么,它表示写作。但是我遇到了io.open(file, "w+")并且无法找到" w +"呢?

3 个答案:

答案 0 :(得分:1)

参考手册io.open

  

mode字符串可以是以下任何一种:

     
      
  • " r":读取模式(默认值);
  •   
  • " w":写模式;
  •   
  • " a&#34 ;:追加模式;
  •   
  • " r +":更新模式,保留所有以前的数据;
  •   
  • " w +":更新模式,以前的所有数据都已删除;
  •   
  • " a +":追加更新模式,保留以前的数据,只允许在文件末尾写入。
  •   

更新模式这里的意思是,输入和输出都可以在 相关文件。

答案 1 :(得分:1)

io.open只使用C的fopen。你可以查看manual of fopen in C

  • w:将文件截断为零长度或创建用于写入的文本文件。 流位于文件的开头。
  • w +:与w相同,除了返回的句柄可用于
    读数。

答案 2 :(得分:0)

我在OpenWRT上运行的Lua 5.1中测试了这个并找到了

file=io.open("/usr/share/result","w")

相同
file=io.open("/usr/share/result","w+")

这两个操作都删除了文件的当前内容并重新编写。

当我尝试

file=io.open("/usr/share/result","a")

文件被附加到 - 每次我的代码运行时它都会越来越长。

所以我认为没有区别。