您好,登錄后才能下訂單哦!
標準庫中的函數,類型以及宏在下面的標準頭文件中定義:
<assert.h> <float.h> <math.c> <stdarg.h> <stdlib.h>
<ctype.h> <limits.h> <setjmp.h> <stddef.h> <string.h>
<errno.h> <locale> <signal.h> <stdio.h> <time.h>
<stdio.h>:
該頭文件中定義的輸入和輸出函數、類型以及宏的數目幾乎占整個標準庫的三分之一。
流:是與磁盤或其它外圍設備關聯的數據的源或目的地。
文本流:由文本行組成的序列,每一個行包含0個或多個字符,并以‘\n’結尾。
二進制流:由未經過處理的字節構成的序列。
程序開始執行時,stdin、stdout和stderr這三個流已經處于打開狀態。
FILE* fopen(const char* filename, const char* mode)
此函數打開filename指定的文件,并返回一個與之相關聯的流,打開失敗返回NULL;
訪問模式(mode):
“r”:以讀方式打開文本文件。
“w”:以寫方式打開文件文本。
“a”:追加;打開或者新建一個文本文件,并向文件末尾追加內容。
“r+”:打開文本文件用于更新(讀和寫)。
“w+”:打開或者新建文本文件用于更新,并刪除原有內容。
“a+”:追加:打開或者新建文本文件用于更新,并向末尾追加內容。
后面三種方式可以對同一個文件操作,但在讀和寫的交叉過程中,必須調用fflush函數
或者文件定位函數。
FILE* freopen(cosnt char* filename, const char* mode,FILE* stream)
此函數指定模式打開文件,并將文件關聯到指定的流,返回stream;出錯返回NULL;一般用于改變與stdin、stdout和stderr相關的文件。
int fflush(FILE* stream)
對輸出流來說,fflush函數將已寫到緩存區但沒有寫入文件的所有數據寫入文件。失敗返回EOF否則返回0.fflush(NULL)將清洗所有的輸出流。
int fclose(FILE* stream)
將所有沒寫入的數據寫入stream,丟棄緩存區的所有未讀輸入數據,并釋放自動分配的緩存區,最后關閉流;出錯返回EOF,否則返回0。
int remove(const char* filename)
刪除指定的文件,刪除失敗返回一個非0值。
int rename(const char* oldname, const char* newname)
修改文件的名稱,失敗返回非0值。
FILE* tmpfile(void)
該函數以“w+b”模式新建一個臨時文件,程序結束時,自動刪除;創建成功返回一個流,失敗返回NULL。
int setvbuf(FILE* stream, char* buf,int mode, size_t size)
該函數控制流的緩沖;在執行讀、寫以及其他任何操作之前必須調用此函數。當模式的值為_IOFBF時,將進行完全緩沖;模式為IOLBF時,將對文件進行緩沖;當模式為_IONBF時表示不緩沖,表示不設置緩沖。如果buf的值不是NULL,則函數將buf指向的區域作為流的緩沖區,否則將分配一個緩沖區,size表示緩沖區的長度。函數操作失敗,返回一個非0值。
void setbuf(FILE* stream, char* buf)
如果buf為NULL,則關閉流的緩沖;否則setbuf函數等價于
(void)setvbuf(stream, buf,_IOFBF, BUFSIZ).
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。