C語言檔案輸入輸出總結

2021-07-11 23:31:03 字數 3113 閱讀 1266

檔案輸入輸出

1、fopen()

#include

file *fopen( const char *fname, const char *mode );

mode方式:

"r"開啟乙個檔案,可以讀取檔案。

"w"開啟乙個檔案,可以寫入檔案,先將檔案的長度截為零。如果該檔案不存在則先建立之。

"a"開啟乙個檔案,可以寫入檔案,向已有檔案的尾部追加內容,如果該檔案不存在則先建立之。

"rb","wb","ab"

與前面的模式相似,只是使用二進位制模式而非文字模式開啟檔案。

2、fclose()

#include

int fclose( file *stream );

函式fclose()關閉給出的檔案流, 釋放已關聯到流的所有緩衝區. fclose()執行成功時返回0,否則返回eof. 

3、getc() 獲得乙個字元

#include

int getc( file *stream );

getc()函式從stream(流)獲取並返回下乙個字元,如果到達檔案尾返回eof.

4、putc() 寫入乙個字元

#include

int putc( int ch, file *stream );

putc()函式把字元ch寫到stream(流)中. 返回值是寫入的字元, 發生錯誤時返回eof.

5、fprintf()

#include

int fprintf( file *stream, const char *format, ... );

fprintf()函式根據指定的format(格式)(格式)傳送資訊(引數)到由stream(流)指定的檔案. fprintf()只能和printf()一樣工作. fprintf()的返回值是輸出的字元數,發生錯誤時返回乙個負值. 

6、fscanf()

#include

int fscanf( file *stream, const char *format, ... );

函式fscanf()以scanf()的執行方式從給出的檔案流中讀取資料. fscanf()的返回值是事實上已賦值的變數的數,如果未進行任何分配時返回eof. 

7、fgets()

#include

char *fgets( char *str, int num, file *stream );

函式fgets()從給出的檔案流中讀取[num - 1]個字元並且把它們轉儲到str(字串)中. fgets()在到達行末時停止,在這種情況下,str(字串)將會被乙個新行符結束. 如果fgets()達到[num - 1]個字元

或者遇到eof, str(字串)將會以null結束.fgets()成功時返回str(字串),失敗時返回null. 

fgets()函式讀取到它所遇到的第乙個換行字元的後面,或者讀取比字串的最大長度少乙個的字元,或者讀取到檔案結尾。然後fgets()函式向末尾新增乙個空字元以構成乙個字串。

8、fputs()

#include

int fputs( const char *str, file *stream );

fputs()函式把str(字串)指向的字元寫到給出的輸出流. 成功時返回非負值, 失敗時返回eof. 

fgets()函式保留了換行符,而fputs()函式不會新增換行符。

gets()函式讀取到結尾的換行符時會把換行符丟掉,puts()函式列印的時候會加上乙個換行符。

9、fseek()

#include

int fseek( file *stream, long offset, int origin );

函式fseek()為給出的流設定位置資料. origin的值應該是下列值其中之一

seek_set 從檔案的開始處開始搜尋 

seek_cur 從當前位置開始搜尋 

seek_end 從檔案的結束處開始搜尋 

fseek()成功時返回0,失敗時返回非零. 

10、ftell()

#include

long ftell( file *stream );

ftell()函式返回stream(流)當前的檔案位置,如果發生錯誤返回-1. 

ftell()函式通過返回距檔案開始處的位元組數目來確定檔案的位置。檔案的第乙個位元組到檔案開始處的距離是位元組0.

11、ungetc()

#include

int ungetc( int ch, file *stream );

函式ungetc()把字元ch放回到stream(流)中. 

12、fflush()

#include

int fflush( file *stream );

如果給出的檔案流是乙個輸出流,那麼fflush()把輸出到緩衝區的內容寫入檔案. 如果給出的檔案流是輸入型別的,那麼fflush()會清除輸入緩衝區. 

13、setvbuf()

#include

int setvbuf( file *stream, char *buffer, int mode, size_t size );

函式setvbuf()設定用於stream(流)的緩衝區到buffer(緩衝區),其大小為size(大小). mode(方式)可以是: 

_iofbf, 表示完全緩衝 

_iolbf, 表示線緩衝 

_ionbf, 表示無快取 

14、fwrite()

#include

int fwrite( const void *buffer, size_t size, size_t count, file *stream );

fwrite()函式從陣列buffer(緩衝區)中, 寫count個大小為size(大小)的物件到stream(流)指定的流. 返回值是已寫的物件的數量. 

15、fread()

#include

int fread( void *buffer, size_t size, size_t num, file *stream );

函式fread()讀取[num]個物件(每個物件大小為size(大小)指定的位元組數),並把它們替換到由buffer(緩衝區)指定的陣列. 資料來自給出的輸入流. 函式的返回值是讀取的內容數量... 

C語言的輸入輸出總結

putchar 把變數中的乙個字元常量輸出到顯示器螢幕上 getchar 從鍵盤上輸入乙個字元常量,此常量就是該函式的值 printf 把鍵盤中的各類資料,加以格式控制輸出到顯示器螢幕上 scanf 從鍵盤上輸入各類資料,並存放到程式變數中 puts 把陣列變數中的乙個字串常量輸出到顯示器螢幕上 g...

C語言輸入輸出用法總結

二 輸入 三 關於緩衝區的一些總結 名稱用法 putchar 只能輸出單個字元 puts 只能輸出字串,並且輸出結束後會自動換行 printf 可以輸出各種型別的資料 對於printf 函式的格式控制符完整形式如下 flag width precision type tpye表示輸出型別,比如 d ...

C語言 輸入輸出相關總結

複習c語言,將以前對輸入輸出的總結筆記轉到網上,以便以後查閱。其中一些例子是取自印度大佬編寫的名為c語言教程,解決了許多疑惑。不得不說印度編寫的教 的棒。getchar 可以接受鍵入的任何值,包括製表符和回車鍵 int main int argc,char ar int main int argc,...