当前位置: 技术问答>linux和unix
请问以 0|O_CREAT|O_EXCL ,方式建立的文件, 再次打开时, 为何返回失败呢 ? 谢谢 。
来源: 互联网 发布时间:2017-02-23
本文导语: 代码如下 #include #include #include #include #include #include int main( int arg_num, char *arg[] ) { // int fd = open("/home/dm/exercise/file1d2",0|O_CREAT|O_EXCL); int fd = open(*arg, 0); int max = sysconf(_SC_MQ_OPEN_MAX); max = sysconf(_SC_OPEN_MAX); ...
代码如下
#include
#include
#include
#include
#include
#include
int main( int arg_num, char *arg[] )
{
// int fd = open("/home/dm/exercise/file1d2",0|O_CREAT|O_EXCL);
int fd = open(*arg, 0);
int max = sysconf(_SC_MQ_OPEN_MAX);
max = sysconf(_SC_OPEN_MAX);
if (fd == -1)
{
printf("open fail n");
return 1;
}
printf("open ok %d", fd);
printf("nn");
return 0;
}
//int open (const char *name, int flags);
//int open (const char *name, int flags, mode_t mode);
|
int fd = open("/home/dm/exercise/file1d2",0|O_CREAT|O_EXCL);
第一次创建成功结果没有指定mode,再打开也没有权限了。
第一次创建成功结果没有指定mode,再打开也没有权限了。