我正在使用open函數創建一個文件並使用O_CREAT | O_EXCEL。我已經通過了「0666」模式。但通過最終掩蓋分配給它的許可是-rw-r-r--而不是 -rw-rw-rw-。有人告訴我,我可以使用umask(011),然後重新設置原始蒙版。 但我不知道如何通過這個在c + +程序。這是我在做什麼的小片段。如何忽略umask以創建具有給定權限的文件
# include <iostream>
# include <stdio.h>
# include <conio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
using namespace std;
int main()
{
int fd = open("C:\\Users\\Ritesh\\Music\\music.txt", O_CREAT | O_EXCL, 0666);
getch();
return 0;
}
創建文件C:\Users\Ritesh\Music\music.txt with permission -rw-r--r-- .
我想這是-rw-rw-rw-
我很困惑。你如何擁有Unix權限位和DOS路徑名的文件系統?什麼O/S同時提供''和''? –
2012-02-21 16:04:01
@Rob不要擔心我只是複製它而尋找打開的頭文件。我只是在我的Windows系統上使用DEV C++。實際上,我在工作場所中使用了solaris。很抱歉,如果它讓你感到困惑。 – Invictus 2012-02-21 16:09:46
那麼,你問的是哪個系統? Windows還是Solaris? – 2012-02-21 18:18:02