linux高階程式設計 系統呼叫I O函式

2021-10-10 13:32:35 字數 938 閱讀 8384

檔案描述符

檔案描述符是非負整數。開啟現存盤案或新建檔案時,系統(核心)會返回乙個檔案描述符。檔案描述符用來指定已開啟的檔案。

在系統呼叫(檔案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 函式 開啟或...