linux的mkdir 函式原型如下:
int mkdir(const char *pathname, mode_t mode);
今天使用linux的mkdir建立目錄。
函式說明:
mkdir()函式以mode方式建立乙個以引數pathname命名的目錄,mode定義新建立目錄的許可權。
返回值:
若目錄建立成功,則返回0;否則返回-1,並將錯誤記錄到全域性變數errno中。
mode方式:
s_irwxu
00700許可權,代表該檔案所有者擁有讀,寫和執行操作的許可權
s_irusr(s_iread)
00400許可權,代表該檔案所有者擁有可讀的許可權
s_iwusr(s_iwrite)
00200許可權,代表該檔案所有者擁有可寫的許可權
s_ixusr(s_iexec)
00100許可權,代表該檔案所有者擁有執行的許可權
s_irwxg
00070許可權,代表該檔案使用者組擁有讀,寫和執行操作的許可權
s_irgrp
00040許可權,代表該檔案使用者組擁有可讀的許可權
s_iwgrp
00020許可權,代表該檔案使用者組擁有可寫的許可權
s_ixgrp
00010許可權,代表該檔案使用者組擁有執行的許可權
s_irwxo
00007許可權,代表其他使用者擁有讀,寫和執行操作的許可權
s_iroth
00004許可權,代表其他使用者擁有可讀的許可權
s_iwoth
00002許可權,代表其他使用者擁有可寫的許可權
s_ixoth
00001許可權,代表其他使用者擁有執行的許可權
今天使用該函式建立目錄,希望建立乙個775的許可權的目錄。但是建立一直失敗。
後來查閱資料後發現
需要先呼叫umask函式。
該函式原型:mode_t umask(mode_t mask);
函式說明
umask()會將系統umask值設成引數mask&0777後的值,然後將先前的umask值返回。在使用open()建立新檔案時,該引數mode並非真正建立檔案的許可權,而是(mode&~umask)的許可權值。例如,在建立檔案時指定檔案許可權為0666,通常umask值預設為022,則該檔案的真正許可權則為0666&~022=0644,也就是rw-r--r--返回值此呼叫不會有錯誤值返回。返回值為原先系統的umask值。
因此,建立775的目錄,需要先執行umask(0) 然後再呼叫mkdir函式。這樣就成功了。
linux的mkdir 函式原型如下:
int mkdir(const char *pathname, mode_t mode);
今天使用linux的mkdir建立目錄。
函式說明:
mkdir()函式以mode方式建立乙個以引數pathname命名的目錄,mode定義新建立目錄的許可權。
返回值:
若目錄建立成功,則返回0;否則返回-1,並將錯誤記錄到全域性變數errno中。
mode方式:
s_irwxu
00700許可權,代表該檔案所有者擁有讀,寫和執行操作的許可權
s_irusr(s_iread)
00400許可權,代表該檔案所有者擁有可讀的許可權
s_iwusr(s_iwrite)
00200許可權,代表該檔案所有者擁有可寫的許可權
s_ixusr(s_iexec)
00100許可權,代表該檔案所有者擁有執行的許可權
s_irwxg
00070許可權,代表該檔案使用者組擁有讀,寫和執行操作的許可權
s_irgrp
00040許可權,代表該檔案使用者組擁有可讀的許可權
s_iwgrp
00020許可權,代表該檔案使用者組擁有可寫的許可權
s_ixgrp
00010許可權,代表該檔案使用者組擁有執行的許可權
s_irwxo
00007許可權,代表其他使用者擁有讀,寫和執行操作的許可權
s_iroth
00004許可權,代表其他使用者擁有可讀的許可權
s_iwoth
00002許可權,代表其他使用者擁有可寫的許可權
s_ixoth
00001許可權,代表其他使用者擁有執行的許可權
今天使用該函式建立目錄,希望建立乙個775的許可權的目錄。但是建立一直失敗。
後來查閱資料後發現
需要先呼叫umask函式。
該函式原型:mode_t umask(mode_t mask);
函式說明
umask()會將系統umask值設成引數mask&0777後的值,然後將先前的umask值返回。在使用open()建立新檔案時,該引數mode並非真正建立檔案的許可權,而是(mode&~umask)的許可權值。例如,在建立檔案時指定檔案許可權為0666,通常umask值預設為022,則該檔案的真正許可權則為0666&~022=0644,也就是rw-r--r--返回值此呼叫不會有錯誤值返回。返回值為原先系統的umask值。
因此,建立775的目錄,需要先執行umask(0) 然後再呼叫mkdir函式。這樣就成功了。
TransparentBlt函式的使用注意事項
今天客戶需要在軟體上需要新增乙個自己公司的logo,要求使用鏤空透明的形式展現,本來以為很簡單的工作沒想到在mfc下這麼複雜。logo為bmp格式,白色背景。以為和在按鈕上顯示控制項差不多,先導入bitmap資源,比如叫idb bitmap1,按鈕名比如叫idc button1,按鈕上貼圖的 cbi...
ios NSUserDefaults使用注意事項
nsuserdefaults適合儲存輕量級的資料,他不僅可以儲存基本資料型別,還可以儲存nsnumber integer float double nsstring,nsdate,nsarray,nsdictionary,bool型別。nsuserdefaults standarduserdefau...
HttpURLConnection使用注意事項
先上簡單 第一種 urlcon.setconnecttimeout 10000 必須設定,不設定網路異常情況會卡死在connect中 urlcon.setreadtimeout 10000 urlcon.connect in new bufferedinputstream url.openstrea...