標準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函式通過系統io讀寫檔案時,每次操作都會執行相關系統呼叫。這樣處理的好處是直接讀寫實際檔案,壞處是頻繁的系統呼叫會增加系統開銷。標準io可以看成是在檔案io的基礎上封裝了緩衝機制。先讀寫緩衝區,必要時再訪問實際檔案,從而減少了系統呼叫的次數。open和openfile 就屬於不同核心提供的不同的系統呼叫io,而fopen就是標準io,不管在什麼平台環境下都可以使用fopen函式來開啟乙個檔案,但是它們依賴的系統呼叫是不同的
標準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 等 開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符,檔案描述符用來指定已開啟的檔案。這...