在C++标准库中(或linux sys/stat.h,sys/types.h,sys/....库)有没有一种方法可以在使用ofstream
创建文件时设置文件权限(或使用这些库中的其他内容)?
当我创建一个文件时,它只会被创建为某个默认的文件权限集(我假设是当前的umask
),但我想明确地将权限设置为与默认值不同的某些值(例如600
),而且我不能仅在开始程序之前设置umask(因为其他人也会运行它)。
// Example of creating a file by writing to it
ofstream fp(filename.c_str())
/* write something to it */
有没有一种方法可以在C++中实现这个功能,或者如果不行,是否有一种方法在C++程序中设置umask
?
例如,在C的标准库中,您只需执行:
open(filename, O_RDWR|O_CREAT, 0666)
但我不想使用C函数,因为能够使用与fstream
对象相关的函数会更好。
(附注:有一个问题的标题正是我要找的,但结果发现与此无关。)
open
еҮҪж•°жү“ејҖж–Ү件пјҢе…ій—ӯиҜҘж–Ү件жҸҸиҝ°з¬ҰпјҢ然еҗҺеҶҚдҪҝз”Ёofstream
йҮҚж–°жү“ејҖе®ғеҗ—пјҹ - xgord