使用 fstream 写入的文件有哪些权限?

8
假设我像这样创建一个用于写入的文件:

std::ofstream my_file("filename", std::ios_base::out | std::ios_base::trunc);

这个文件的权限是如何确定的?我有一个程序在一晚上运行,每分钟生成一个文件 - 有些是0644,但其他的是0660,而且我的代码中没有任何东西能够改变它。(我看到有些实现允许设置文件权限的第三个参数 - 我使用的是gcc 4.1.2,似乎不支持这个功能)。

正如其他人所说,属性取决于umask。既然您说您的代码不修改文件属性,也许是另一个应用程序在这样做? - PeterK
好的,这很有道理 - 不确定我的程序在做什么,但我会注意它以防再次发生。 - jrb
我又看到了我最初的“问题” - 我认为这是由于使用略有不同的版本构建和运行我的应用程序,导致其他奇怪的事情开始发生。尽管如此,我仍然认为这个问题值得问一下 :) - jrb
2个回答

5

0

默认属性是使用umask命令设置的。它并不解释您的文件属性更改,但仍然可能对您有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接