1. 程式人生 > >標準I/O庫 筆記

標準I/O庫 筆記

標準I/O

1.流和FILE物件

a) ASCII字符集:一個字元用一個位元組表示

b) 國際字元:一個字元可以用多個位元組表示

c) 標準I/O檔案流可以用於單位元組或者多位元組字符集

2.流定向

a) 決定所讀、寫的字元是單位元組或者是多位元組

b) 流最初建立時無定向

c) 函式

i. int fwide(FILE* fp,int mode) :設定流定向

1. 注意:fwide 並不改變已定向流的定向

ii. fopen():返回指向FILE物件的指標

3.標準輸入、標準輸出、標準出錯

a) <stdio.h>

4.緩衝

a) 目的:減少使用readwrite的呼叫次數

b) 全緩衝:填滿標準I/O

緩衝區後才進行I/O操作

i. 緩衝區獲取:malloc();

c) 行緩衝:當在輸入和輸出遇到換行符時,標準I/O庫執行I/O操作

i. 限制1.只要填滿緩衝區,即使還沒寫一個換行符,也進行I/O操作

ii. 限制2...

d) 不帶緩衝:標準IO庫不對字元程序緩衝儲存

5.程式設計思路

a) 建立流物件

i. FILE* fp;

b) 開啟流檔案

i. fopen();

c) 流操作

i. 輸入:

1. getc(FILE *fp)

2. fgetc(FILE *fp)

3. int getchar(void)

ii. 輸出

1. int putc(int c,FILE *fp)

2. int fputc(int c,FILE *fp)

3. int putchar(int )

iii. 格式化

1. fprintf()

2. ...

d) 關閉流(這一步不能落下,要不會出錯)

i. fclose();