Linux系統程式設計 IO部分

2022-09-09 13:54:20 字數 1073 閱讀 6454

標準i/o是ansi c建立的乙個標準i/o模型,移植性好。例如在windows下或者在liunx下等平台下進行c開發都使用printf函式進行列印,所以printf就是典型的標準io。

file型別

基本函式

操作函式

開啟檔案

fopen

關閉檔案

fclose()

獲取乙個字元

fgetc()

輸出乙個字元

fputc()

獲取一串字串

fgets()

輸出一串字串

fputs()

輸出函式

printf族

輸入函式

scanf族

fseek()

ftell()

rewind()

標準io是建立在系統io之上的,簡單來說,標準io就是呼叫系統io實現具體操作的。例如

fopen()是乙個標準io中的乙個函式,在linux環境下依賴的是open函式,在windows環境下依賴的是openfile函式

open和openfile 就屬於不同核心提供的不同的系統呼叫io,而fopen就是標準io,不管在什麼平台環境下都可以使用fopen函式來開啟乙個檔案,但是它們依賴的系統呼叫是不同的

通過系統io讀寫檔案時,每次操作都會執行相關系統呼叫。這樣處理的好處是直接讀寫實際檔案,壞處是頻繁的系統呼叫會增加系統開銷。標準io可以看成是在檔案io的基礎上封裝了緩衝機制。先讀寫緩衝區,必要時再訪問實際檔案,從而減少了系統呼叫的次數。

標準io提供了三種型別的快取:

基本函式

操作函式

手動重新整理緩衝區

fflush()

典型代表

全緩衝:對磁碟檔案的讀寫

行緩衝:標準輸入(stdin)和標準輸出(stdout)

無緩衝:標準出錯(stderr)

Linux系統程式設計 檔案IO 一

最近在在實驗樓上學linux,做點筆記。上面的課程對於學習linux還不錯,有興趣可以看看。檔案io linux提供給了使用者程式一些介面,用來呼叫執行相關的功能。大多數linux檔案i o只需要用到5個函式 open,read,write,lseek和close 檔案描述符 檔案描述符是乙個非負整...

linux系統程式設計之檔案I O

一 檔案描述符 linux系統中,所有開啟的檔案都對應乙個數字,這個數字由系統來分配,稱為檔案描述符。pcb程序控制塊裡有檔案描述符表,以陣列形式存放於核心區。乙個程序預設開啟3個檔案描述符 stdin fileno 0 stdout fileno 1 stderr fileno 2 新開啟檔案返回...

Linux系統程式設計 檔案IO操作

檔案描述符 在 linux 的世界裡,一切裝置皆檔案。我們可以系統呼叫中 i o 的函式 i input,輸入 o output,輸出 對檔案進行相應的操作 open close write read 等 開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符,檔案描述符用來指定已開啟的檔案。這...