c语言中 文件的字符串输入函数是6,【C语言】文件操作及输入输出格式(文件常用的库函数)...
參考中國大學MOOC 浙江大學翁愷C語言程序設計在線課程
目錄
常用文件輸入輸出符號格式及標準
常用應用對象為文件的庫函數簡介:
庫函數部分:
文件創建、打開、閱讀:
數據塊寫入讀出(只有這兩個函數可以對二進制文件進行數據操作):
字符及字符串寫入讀出:
格式化讀寫函數:
其他函數:
符號和格式部分:
常用文件輸入輸出符號格式及標準
常用應用對象為文件的庫函數簡介:
文件的創建打開閱讀
數據塊的寫入讀出
字符串及字符的寫入讀出
格式化讀寫
其他常用函數
庫函數部分:
文件創建、打開、閱讀:
1、fopen:
功能:見下表指令集
聲明源代碼:FILE * fopen(const char * path,const char * mode);
path:文件名
mode:指令集(見下表)
示例:包含文件地址的指針變量 = fopen("文件名" , "指令'');
返回值:文件的指針
fopen
r
打開只讀
r+
打開讀寫,從?件頭開始
w
如果不存在則新建,如果存在則清空
w+
打開讀寫。如果不存在則新建,如果存在則清空
a
打開追加。如果不存在則新建,如果存在則從?件尾開始
..x
如果?件已存在則不能
2、fclose:
聲明源代碼:int fclose(FILE *fp);
功能:關閉fp指向的文件(一個文件同時只能被一個用戶打開,所以對文件的操作執行完畢后要關閉文件)
返回值:如果成功關閉,fclose()函數返回0,否則返回EOF。
數據塊寫入讀出(只有這兩個函數可以對二進制文件進行數據操作):
3、fwrite:
聲明源代碼:int fwrite(const void* ptr, int size, int count, FILE* fp);
功能:從ptr指向的地方讀取count個size大小的數據寫入fp指向的文件中(若指針指向的位置后方有數據會被新寫入的數據覆蓋)
返回值:返回成功寫入數據塊個數(所有正常寫入應該為count)
4、fread:
聲明源代碼:int fread(void *ptr, int size, int count ,FILE *stream);
功能:從fp指向的文件中讀取size個字節的數據,讀取count次存入ptr指向的數據塊中。
返回值:返回的是成功讀取到的字節數。
字符及字符串寫入讀出:
5、fgetc:
聲明源代碼:int fgetc(FILE *stream);
功能:從stream指向的文件中讀取一個字節的數據。
返回值:返回所讀取的一個字節。如果讀到文件末尾或者讀取出錯時返回EOF。
6、fputc:
聲明源代碼:int fputc(char ch, FILE *stream);
功能:向stream指向的文件中寫入ch;
返回值:返回的時寫入等價的字符的ASCII碼值,出錯是,返回EOF(-1)。
7、fgets:
聲明源代碼:char *fgets(char *str, int size, FILE *stream);
功能:向stream指向的文件內寫入str數組中的size字節的數據。
返回值:調用成功,將讀取的字符串返回,使用fgets函數讀取的時候會自動在字符串后邊加上一個‘\0’,失敗返回NULL。
8、fputs:
聲明源代碼:int? fputs( const char * Str, FILE * File);
功能:向File指向的文件中輸出Str指向的字符串( 可在文件指針處填寫stdout(標準輸出) )
返回值:如果寫入成功,則返回非0,此時編譯器默認為返回1;如果寫入錯誤,則返回EOF。
格式化讀寫函數:
(下方提到的字符串也做格式串)
9、fscanf:
聲明源代碼:int fscanf(FILE *stream, const char *format, ...);
功能:從stream指向的文件讀取字符串到... 。fscanf遇到空格和換行時結束(fgets遇到空格不結束)。
示例:fscanf(fp ,"%d" , &obj)
返回值:返回實際讀取的數據個數,出錯或者到結尾返回EOF。
Tips:fscanf與scanf函數的區別在于scanf是從標準輸入(鍵盤)讀取數據,而fscanf是從指定的文件中讀取數據。
10、fprintf:
聲明源代碼:int fprintf(FILE *stream, const char *format, ...);
功能:將format指向的字符串寫入文件...取決于字符串中待填入項目(%d等)的多少。(當文件區填入stderr時輸出至屏幕)
示例:fprintf(fp, obj);(可以不填...中的內容使僅僅輸出字符串到文件)
fprintf(fp, "%d",obj);(類比于printf)
返回值:本次寫入操作寫到文件中的字節數。
Tips:fprintf與printf的不同之處在于printf是寫入到標準輸出(屏幕),而fprintf是將數據寫入到指定的文件中去。
其他函數:
11、fseek(控制文件指針偏移):
聲明源代碼:int fseek(FILE *fp, long offset, int whence);
whence是指偏移方式。有如下三種值可選:
SEEK_SET 從距文件開頭offset 位移量為新的讀寫位置.
SEEK_CUR 以目前的讀寫位置往后增加offset 個位移量.
SEEK_END 將讀寫位置指向文件尾后再增加offset 個位移量.
功能:將fp指向文件的文件指針按whence的偏移方式,偏移offset個偏移量
示例:?fseek(fp, -(long)sizeof(int), SEEK_END);
返回值:調用成功返回0,失敗返回-1,error存放錯誤代碼。
12、ftell(獲取當前文件指針位置):
聲明源代碼:long ftell( FILE * File);
功能:獲取File指向的文件的位置指針相對于文件頭指針的位移量
返回值:無返回值。
13、rewind(將文件指針指向文件開頭):
聲明源代碼:void rewind( FILE * File);
功能:使File指向的文件的位置指針指向首地址。
返回值:當前讀寫位置偏離文件頭部的字節數,操作失敗返回1L。
14、feof(判斷文件指針是否指向文件尾)(只適用于文本文件不適用于二進制文件):
聲明源代碼:void feof( FILE * File);
功能:檢測File指向的文件的位置指針是否指向文件尾。
返回值:是則返回1,不是則為0。
15、ferror(檢查文件操作錯誤函數):
聲明源代碼:int ferror( FILE * File);
功能:檢測File指向的文件的讀寫是否出錯。
返回值:是則返回1,不是則為0。
Tips:在調用fopen,fclose函數后會產生一個新的ferror的函數值所以應該在,文件的打開關閉操作后盡快判斷
16、clearerr(清除出錯標志和文件結果標志)
聲明源代碼:void clearerr( FILE * File);
功能:清除File指向的文件的文件出錯標志和結果標志。
返回值:無返回值。
—————————————————————————————————————————————————
符號和格式部分:
格式化的輸?輸出
? printf
? %[flags][width][.prec][hlL]type
? scanf
? %[flag]ty
%*[^,]??? (逗號前的東西都舍去)
%[^,]??? (作為字符串讀入)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的c语言中 文件的字符串输入函数是6,【C语言】文件操作及输入输出格式(文件常用的库函数)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试 | 信用卡号验证
- 下一篇: c语言使用正则,C语言中使用正则表达式