檔案輸入輸出
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,...