在編譯乙個開源軟體的時候,在一處寫檔案的地方,發現總是許可權有問題。
**如下:
fd = open(filename, o_wronly | o_creat | o_excl, 644)
這麼一看,好像沒什麼問題,
通過open建立乙個檔案,許可權為644的。
網上有關於這個函式引數的介紹:
o_wronly 可讀可寫
o_creat 若此檔案不存在,則建立它,用此選項的時候,需同時說明第三個引數mode
o_excl 如果同時指定了o_creat,則檔案已經存在,則出錯。這可測試乙個檔案是否存在,如果不存在則建立此檔案成為乙個原子操作。
mode為644.
按我們理解,644為wr* *r* *r*,
那問題在**呢,
我們知道,通常用來表示許可權的777,644這種的,實際是8進製的,
而如果我們直接寫644,則c語言會當成10進製的數來處理,則會出問題。
8進製的644,需要前面加乙個0,為0644
mySql update容易出錯的乙個地方
update語句的正確語法示例 update tb set col1 value1 col2 value2 col3 value3 where col0 value0 andcol5 value5 上例是正確的做法,不合理的update應該是什麼樣子的呢,是將set後接的並列字段分隔符改為 and ...
Ext使用TabPanel的乙個很容易忽略的問題
在使用tabpanel時需要注意 1 在建立ext.tabpanel時deferredrender配置項經常會被忽略。該配置項的預設值是true。true表示只有在使用者第一次訪問 選項卡時,該選項卡的panel才會被渲染。所以當我們有可能使用指令碼操作選項卡時,謹記將該配置項設定為false。2 ...
關於 的乙個容易被忽略的問題
a 0,1,2,3,0,1,2 5 a 4 3 在一般來說,所有的使用者都知道元組一旦被建立就不可更改,除非用乙個新的元組來覆蓋它,但是上面的示例有了不同的反饋。執行之後得到了異常 typeerror tuple object does not support item assignment 在這個...