Lam*_*ine 4 module function func writefile go
func OpenFile(name string, flag int, perm FileMode) (*File, error)
f, err := os.OpenFile("notes.txt", os.O_RDWR|os.O_CREATE|O_TRUNC, 0755)
Run Code Online (Sandbox Code Playgroud)
“O_TRUNC”是否在写入前清空整个文件?“截断”是什么意思?
另外,该函数ioutil.WriteFile()在写入之前是否清空了整个文件?
之前os.O_TRUNC使用“如果可能”这个词的定义存在一些混淆- 请参见此处。
今天的文档如下:
O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened.
Run Code Online (Sandbox Code Playgroud)
所以
“O_TRUNC”在写入之前是否清空了整个文件?
是的。它基本上破坏了文件的内容 - 如果文件路径已经存在(并且是文件或现有文件的符号链接)。
同样来自ioutil.WriteFile 文档:
... WriteFile 在写入之前将其截断。