file * fopen(const char * pathname, const char * opentype);
開啟由pathname指定的檔案並建立乙個與之相連的流。
int fclose(file * stream);
開啟的流通過fclose函式來關閉,在流被關閉前,所有緩衝區的輸出將被寫出,所有緩衝區的輸入將被丟棄。
file * freopen(const char * pathname, const char * opentype, file * stream);
重新開啟指定檔案,並使之與乙個指定的流(stream指定的流)相連。作用類似於fopen函式與fclose函式的合併。先關閉stream指定的流,按照opentype的方式開啟pathname指定的檔案,並使之與stream指定的流相連線。
一旦開啟乙個流,就需要對流進行讀寫。有3種型別的無格式i/o函式:字元i/o函式,行i/o函式,塊i/o函式。
1.字元i/o函式
字元輸入函式中,getc函式最常用,其它兩個基本不予使用。
#include
int fgetc(file * stream);
int getc(file * stream);
intgetchar(void);
字元輸出函式中,putc函式最常用。
#include int fputc(int c, file * stream);int putc(int c, file * stream);
intputchar(int c);
2.行i/o函式
標準c庫中有以下兩個函式用於每次讀入一行
#include char * fgets(char *s, int count, file * stream);char * gets(char * s);
這裡著重介紹一下fgets函式。
作用:從stream指定的流中至多讀入一行字元至引數s指定的字串中,引數count指明字串s的空間大小。該函式從流中連續讀字元直至讀到換行符或者讀夠count -1個字元為止。 所讀入的這一行字元包含最後的換行符,儲存在引數s指定的陣列中,並且在其末尾加乙個空字元(\0)作為該字串結束標誌。
fgets函式比較安全,不會產生溢位,而gets函式沒有為字串s的溢位提供保護,因此我們最好不要使用gets。
linux中的gnu c庫專門提供了另外乙個一次讀入一行的函式getline,此外還擴充了乙個更通用的函式getdelim。
#include ssize_t getline(char * * lineptr, size_t * n, file * stream);ssize_t getdelim(char * * lineptr, size_t * n, int delimter, file * stream);
標準輸入輸出
linux的大部分命令都具有標準的輸入輸出埠,有哪些標準裝置資訊?名稱 檔案描述符 含義裝置 說明stdin 0標準輸入 鍵盤命令在執行時所需要的輸入資料,通過它來獲取 stdout 1標準輸出 顯示器命令在執行後所產生的輸出資料,通過它來送出 stderr 2標準錯誤 顯示器命令在執行後所產生的錯...
標準輸入輸出
目錄流緩衝 格式輸出 格式輸入 目錄流緩衝 格式輸出 格式輸入 記錄下,了解概念。當用流或檔案描述字i o函式開啟乙個檔案時,分別返回乙個流或檔案描述字,後面就可以將這個流或檔案描述字作為引數交給相應讀寫函式來完成實際的讀寫操作。通過關閉檔案可以終止程式與檔案的連線。檔案描述字表示為int型別的物件...
python標準輸入輸出
sys模組 usr bin python2.6 import sysfor line in sys.stdin print line,先寫乙個指令碼,顯示行號和內容,之後引用它 usr bin env python import sys counter 1 while true line sys.s...