APUE筆記 第五章 標準I O庫

2021-10-17 08:42:21 字數 1057 閱讀 2306

2.流和相關函式

3.格式化i/o

4.fileno()函式

5.tmpnam()和tmpfile()函式

標準i/o庫是在系統呼叫函式基礎上構造的。

ansi c要求下列快取特徵:

(1) 當且僅當標準輸入和標準輸出並不涉及互動作用裝置時,它們才是全快取的。

(2) 標準出錯決不會是全快取的。

1.1全快取

在這種情況下,當填滿標準i/o快取後才進行實際i/o操作。對於駐在磁碟上的檔案通常是由標準i/o庫實施全快取的。在乙個流上執行第一次i/o操作時,相關標準i/o函式通常呼叫malloc獲得需使用的快取。

1.2行快取

在這種情況下,當在輸入和輸出中遇到新行符時,標準i/o庫執行i/o操作。

1.3不帶快取2.1開啟流

fopen()

freopen()

fdopen()

2.2讀和寫流

getc()

fgetc()

getchar()

ferror()

feof()

clearerr()

ungetc()

putc()

fputc()

putchar()

gets() //每次一行

fgets() //每次一行

puts() //每次一行

fputs() //每次一行

2.3定位流

ftell()

fseek()

rewind()

fgetpos()

fsetpos()

3.1格式化輸出

printf()

fprintf()

sprintf()

vprintf()

vfprintf()

vsprintf()

3.2格式化輸入

scanf()

fscanf()

sscanf()

每個i/o流都有乙個與其相關聯的檔案描述符,可以對乙個流呼叫fileno以獲得其描述符。

功能:建立臨時檔案。

第五章 標準I O庫

1.fwide函式 用於設定流的定向。int fwide file fp,int mode 若流是寬定向,返回正值 是位元組定向,返回負值 是未定向,返回0。如若mode是負值,則函式試圖使指定的流是位元組定向的 如果mode是正值,則函式試圖使制定的流是寬定向的 若mode引數值為0,函式不試圖設...

第五章 標準I O庫

本章用於解析c語言標準i o庫,之所以在unix類系統的程式設計中會介紹c語言標準庫,主要是因為unix和c之間具有密不可分的關係。標準i o庫相比於作業系統的i o庫,具有更高的效率和可移植性,前者是因為標準i o庫提供了緩衝和塊長度優化功能,後者是因為使用標準i o庫的 不僅能在各unix系統上...

apue第五章習題

5.1用setvbuf實現setbuf void setbuf file stream,char buf int setvbuf file stream,char buf,int mode,size t size 當buf為null,則為無緩衝,否則為全緩衝。void my setbuf file ...