creat:
创建文件,显然参数只需要(路径path,权限mode)。
1、如果文件存在怎么办?直接覆盖掉!不管你里面有没有内容。
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
#include<iostream>
using namespace std;
int main()
{
int fd;
//umask(0000);
fd=creat("grb.txt",0777);
if(fd==0)
cout<<"create failed!\n";
else
cout<<"create successful!\n";
}
创建成功,但是有个问题。
给的权限八进制777最大权限,但是查看权限的并不是。
此处设定的mode的值并不是文件最终的权限,文件最终的权限是按照mode & ~umask得到的,而默认的umask是0022,所以如果想按照mode的值设置文件权限,需要在建立文件之前将umask的值设置为0000。加一
句
umask(0000