檔案描述符
檔案描述符是非負整數。開啟現存盤案或新建檔案時,系統(核心)會返回乙個檔案描述符。檔案描述符用來指定已開啟的檔案。
在系統呼叫(檔案io)中,檔案描述符對檔案起到標識作用,如果要操作檔案,就是對檔案描述符的操作
乙個程式執行或者乙個程序開啟時,系統會自動建立三個檔案描述符
0 標準輸入
1 標準輸出
2 標準輸出出錯
檔案io的檔案描述符和標準io的檔案指標的對應關係
檔案i0 標準io
0 stdin
1 stdout
2 stderr
如果自己開啟檔案,會返回檔案描述符,而檔案描述符一般按照從小到大一次建立的順序
open函式
開啟乙個檔案
#include
#include
#include
當檔案存在時使用:
int open(const char *pathname, int flags);
當檔案不存在時使用:
int open(const char *pathname, int flags,mode_t mode);
引數:pathname: 檔案的路徑及檔名
flags: open函式的行為標誌
mode: 檔案許可權(可讀,可寫,可執行)的設定
![在這裡插入描述](
Linux系統呼叫IO
讀檔案 ssize t read int fd,void buf,size t count 引數一 int open的返回值 引數二 void 用來存放讀取資料的記憶體的首位址 引數三 size t 讀取內容大小,單位 位元組 返回值 成功 0 讀取的位元組數 0 檔案末尾 失敗 1 寫檔案ssiz...
《Linux系統程式設計 系統呼叫之 I O 操作》
在 linux 的世界裡,一切裝置皆檔案。我們可以系統呼叫中 i o 的函式 i input,輸入 o output,輸出 對檔案進行相應的操作 open close write read 等 開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符,檔案描述符用來指定已開啟的檔案。這個檔案描述符...
linux系統高階程式設計
linux下高階程式設計的特點 涉及到核心向使用者空間提供的介面 函式 介面的功能 引數 返回值 檔案io 標頭檔案 unistd.h fcntl.h 是從使用者空間角度考慮的輸入輸出 從核心讀資料或從檔案中讀資料叫 輸入 read函式 寫資料到核心或寫資料到檔案中叫 輸出 write 函式 開啟或...