導航:首頁 > 操作系統 > linuxopen返回值

linuxopen返回值

發布時間:2025-09-12 02:33:37

linux c 的 open(文件路徑,O_WRONLY | O_CREAT) 裡面的與運算為什麼可以實現打不開就創建

open 函數可以打開或創建一個文件。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
返回值:成功返回新分配的文件描述符,出錯返回-1並設置errno
在Man Page中open 函數有兩種形式,一種帶兩個參數,一種帶三個參數,其實在C代碼
中open 函數是這樣聲明的:
int open(const char *pathname, int flags, ...);
最後的可變參數可以是0個或1個,由flags 參數中的標志位決定,見下面的詳細說明。
pathname 參數是要打開或創建的文件名,和fopen 一樣,pathname 既可以是相對路徑也可以是絕
對路徑。flags 參數有一系列常數值可供選擇,可以同時選擇多個常數用按位或運算符連接起
來,所以這些常數的宏定義都以O_開頭,表示or。
必選項:以下三個常數中必須指定一個,且僅允許指定一個。
O_RDONLY 只讀打開
O_WRONLY 只寫打開
O_RDWR 可讀可寫打開
以下可選項可以同時指定0個或多個,和必選項按位或起來作為flags 參數。可選項有很多,這
里只介紹一部分,其它選項可參考open(2)的Man Page:
O_APPEND 表示追加。如果文件已有內容,這次打開文件所寫的數據附加到文件的末尾而不
覆蓋原來的內容。
O_CREAT 若此文件不存在則創建它。使用此選項時需要提供第三個參數mode ,表示該文件
的訪問許可權。
O_EXCL 如果同時指定了O_CREAT,並且文件已存在,則出錯返回。
O_TRUNC 如果文件已存在,並且以只寫或可讀可寫方式打開,則將其長度截斷
(Truncate)為0位元組。
O_NONBLOCK 對於設備文件,以O_NONBLOCK 方式打開可以做非阻塞I/O(Nonblock I/O).

閱讀全文

與linuxopen返回值相關的資料

熱點內容
部路沖突安卓怎麼轉到ios 瀏覽:627
騰訊微雲解壓用vip嗎 瀏覽:254
伺服器啟動如何選擇默認啟動項 瀏覽:152
河南省伺服器託管商雲主機物理機 瀏覽:795
人教版初中數學全套pdf 瀏覽:666
華為怎麼獲取定位伺服器地址 瀏覽:607
在什麼app上可以製作動漫 瀏覽:38
伺服器11是什麼 瀏覽:424
android源碼架構解析 瀏覽:178
date編譯 瀏覽:871
lru頁面調整演算法是指 瀏覽:477
樑柱節點箍筋加密區范圍分成三段 瀏覽:373
命令寫入鏡像 瀏覽:241
linux伺服器獲取不到mac地址 瀏覽:560
linux網卡名稱修改 瀏覽:665
敲罐子解壓聲音 瀏覽:955
深圳市加密圖紙 瀏覽:632
nbspjava 瀏覽:140
linuxopen返回值 瀏覽:608
伺服器意外斷電出現報錯怎麼辦 瀏覽:689