FILE *fopen(char * filename,char * mode)數組
filename對應的實參是一個字符串,表示須要打開的文件的文件名(能夠包括文件的路徑),該實參能夠是一個字符串常量,也能夠是一個字符指針;函數
mode對應的實參也是一個字符串,對應了文件的操做模式:this
「r」:以只讀方式打開一個文本文件,若是文件不存在則打開失敗。打開後,從頭開始讀。設計
「w」:以只寫方式打開或創建一個文本文件,若是文件存在則丟棄全部內容。指針
「a」:以添加方式打開一個文本文件,在尾部接着寫入數據,若文件不存在則穿件新文件。orm
「rb」:打開一個只讀的二進制文件,若是文件不存在 則打開失敗。字符串
「wb」:打開或創建一個只寫的二進制文件,若是文件存在則丟棄全部內容。get
「ab」:以添加方式打開一個二進制文件。string
「r+」:打開一個可讀/可寫的文本文件,能夠對文件讀或寫,文件不存在則操做失敗。it
「w+」:建立一個新的可讀/可寫的文本文件,在打開時文件中的內容爲空。
「a+」:打開一個可讀/寫的文本文件。
「rb+」:打開一個可讀/寫的二進制文件。
"wb+":建立一個新的可讀/寫的二進制文件。
"ab+":打開一個可讀/寫的二進制文件。
打開文件:FILE *fp;
if(fp=fopen("c:\\tc\\test.txt","r")==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
關閉文件:int fclose(FILE *stream)
文件的結束:int feof(FILE* stream)
FILE *fp;
while(!feof(fp))
{
操做文件;
}
字符輸入輸出函數:int fputc(int ch,FILE *stream):返回 一個向文件所寫字符的值,此時寫操做成功,不然返回EOF(文件結束符,值爲-1,在stdio.h中定義)表示寫操做錯誤。
int fgetc(FILE * stream):返回文件當前位置的一個字符的ASCII值,在讀操做遇到文件結束時,函數返回一個文件結束標誌。
行輸入輸出函數:char fgets(char *string,int n,FILE *stream):string的實參是指向一個字符數組的指針,fgets函數從文件中讀取至多n-1個字符(n用來指定須要讀出的字符數),stream爲指向某個文件的文件指針。當讀入遇到換行符,將包括換行符在內的字符串放入指定的字符數組中;當讀入n-1個字符後沒有遇到換行符,則將這些字符放入字符數組中。不管操做如何完成,函數都在數組中存放的字符後加一個空字符‘\0’,表示一個字符串結束。正常讀入成功時,函數返回string指針,遇到文件結束或操做出錯時返回一個空指針。
int fputs(char *string,FIle *stream):將string所指向的字符串寫入到文件指針stream所指向的文件中。當string指針所指的字符串成功寫入時,函數返回非0值;寫操做失敗時,函數返回EOF。
格式化輸入輸出函數:int fprintf(FILE *stream,char *format,<variable-list>):返回值爲實際寫入文件的中的字符個數(字節數)。若是寫錯誤則返回一個負數。格式化的規定與printf話術相同。
int fscanf(FILE *stream,char *format,<variable-list>):讀取錯誤返回EOF,不然成功。
摘自:王芳《C語言程序設計》