Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
檔案 I/O
|
31
O_SYNC
開啟檔案以便進行同步 I/O。於是直到資料被實際寫入磁碟之前,並不會完成寫入
操作;一般的讀取操作已經是同步的方式了,所以此旗標並不會影響讀取操作。
POSIX 額外定義了
O_DSYNC
O_RSYNC
;在 Linux 上,這兩個旗標與
O_SYNC
是同義詞
(見第 2 章〈O_SYNC 旗標〉一節)。
O_TRUNC
如果檔案存在,並且是正規檔案,而且所指定的旗標允許進行寫入操作,則檔案將
被截短成零長度。對 FIFO 或終端機裝置使用
O_TRUNC
會被忽略。其他檔案型態的用
法並未被定義。以
O_RDONLY
來指定
O_TRUNC
的用法也未被定義,但是你需要對檔案
進行寫入操作以便截短它。
舉例來說,下面的程式碼會開啟檔案
/home/teach/pearl
以便進行寫入操作。如果檔案
已經存在,則將它截短成零長度。因為並未指定
O_CREAT
旗標,如果檔案尚不存在,則
open()
呼叫將執行失敗:
int fd;
fd = open ("/home/teach/pearl", O_WRONLY | O_TRUNC);
if (fd ==
1)
/* 錯誤 */
新檔案的擁有者
判斷哪個用戶擁有新檔案相當簡單:檔案之擁有者的 uid(用戶識別碼)就是建立檔案
之行程的 effective uid(有效用戶識別碼)。
判斷擁有群組則比較複雜。預定的做法就是把檔案的擁有群組設定為建立檔案之行程的
effective gid(有效群組識別碼)。這是 System V 的做法(大部分 Linux ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812