Fprint 为什么无法写入文件?

Fprint 为什么无法写入文件?

func main() {
    f, err := os.OpenFile("output.txt", os.O_CREATE|os.O_TRUNC|os.O_APPEND, 0666)
    if err != nil {
        fmt.Println(err)
    }
    defer f.Close()
    n, err := fmt.Fprint(f, "测试")
    fmt.Println(n, "\n", err)
}

输出:

0
write output.txt: bad file descriptor

go 版本 1.7

共 2 个回复


stevewang

写打开要加上os.O_WRONLY选项。

os.OpenFile("output.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY|os.O_APPEND, 0666)
# 0

stevenldj

原来这样,谢谢!

# 1