假设我创建了一个像这样写的文件:
std::ofstream my_file("filename", std::ios_base::out | std::ios_base::trunc);
Run Code Online (Sandbox Code Playgroud)
如何确定此文件的权限?我有一个程序在一夜之间运行,每分钟生成一次文件 - 有些是0644,有些是0660,我的代码中没有任何东西可以让它改变.(我已经看到一些实现允许第三个参数来设置文件权限 - 我正在使用gcc 4.1.2,它似乎不支持这个).
以下是https://tour.golang.org/flowcontrol/8解决此练习的两次尝试.一个版本将函数调用作为for条件的一部分,但这不起作用 - 它甚至不执行循环体.如果我在循环内移动条件,它就像我预期的那样工作.为什么?
package main
import (
"fmt"
"math"
)
func Sqrt_working(x float64) float64 {
var z float64 = 1.0
for {
if math.Abs((z*z) - x) < 0.0001 {
break
}
z -= ((z*z - x) / (2*z))
}
return z
}
func Sqrt_not_working(x float64) float64 {
var z float64 = 1.0
for math.Abs((z*z) - x) < 0.0001 {
z -= ((z*z - x) / (2*z))
}
return z
}
func main() {
fmt.Println(Sqrt_working(2))
fmt.Println(Sqrt_not_working(2))
}
Run Code Online (Sandbox Code Playgroud)
产量
1.4142156862745099 …Run Code Online (Sandbox Code Playgroud)