檔案操作
檔案的開啟
file * fopen(const char filename,const char * mode);
檔案的開啟操作 fopen 開啟乙個檔案
(幾種操作檔案的組合)
檔案的關閉操作
int fclose(file *fp);
fclose 關閉乙個檔案
檔案的讀寫操作
讀取單個字元
fgetc 從檔案中讀取乙個字元int fgetc(file * fp);
fputc 寫乙個字元到檔案中去 int fput(int c,file * fp);
讀取字串
fgets 從檔案中讀取乙個字串char * fgets(char * s,int n,file *fp);
從檔案中讀取字串並在字串末尾新增'\0',然後存入s,最多讀入n-1個字元
當讀到換行符、到達檔案末尾或者讀滿n-1個字元,函式返回該字串的首位址
讀取失敗返回空指標null
因為出錯和到達檔案末尾都返回null,因此應該使用feof()和ferror()來確定函
數fget()返回null的實際原因
fgets()從指定的流讀字串,讀到換行符時將換行符也作為字串的一部分讀到
字串中來
fputs 寫乙個字串到檔案中去 int fputs(const char * s,file *fp);
出現寫入錯誤返回eof,否則返回乙個非負數
fputs()不會在寫入檔案的字串末尾加上換行符
按格式讀寫檔案
fprintf 往檔案中寫格式化資料 int fprintf(file * fp,const char * format,...)
第乙個引數為檔案指標,第二個引數是格式控制引數,第三個是輸出引數列表
fscanf 格式化讀取檔案中資料 int fscanf(file * fp,const char * format,...)
第乙個引數為檔案指標,第二個引數是格式控制引數,第三個是位址引數列表
按格式讀寫檔案需要知道輸出和位址引數,比較麻煩(個人認為)
按資料塊讀寫檔案
fread 以二進位制形式讀取檔案中的資料
unsigned int fread(void * buffer,unsigned int size,unsigned int count,file * fp)
從fp所指的檔案中讀取資料並儲存到buffer所指向的記憶體中
buffer待讀入資料塊的起始位址
size每個資料塊的大小(待讀入每個資料塊的位元組數)
count最多允許讀取資料塊的個數
函式返回的是實際讀到的資料塊個數
fwrite 以二進位制形式寫資料到檔案中去
unsigned int fwrite(void * buffer,unsigned int size,unsigned int count,file * fp)
buffer待輸出資料塊的起始位址
size每個資料塊的大小(待讀入每個資料塊的位元組數)
count最多允許讀取資料塊的個數
函式返回的是實際讀到的資料塊個數
這兩個函式常於二進位制檔案的輸入和輸出
getw 以二進位制形式讀取乙個整數
putw 以二進位制形式存貯乙個整數
檔案狀態檢查函式
feof 檔案結束int feof(file * fp);
ferror 檔案讀/寫出錯int ferror(file *fp);
檔案出現錯誤函式返回非0值,否則,函式返回0
clearerr 清除檔案錯誤標誌
ftell 了解檔案指標的當前位置 long tell(file * fp);
成功返回檔案當前讀寫位置,否則返回-1l
檔案定位函式
rewind 反繞重置位置指標到檔案首部 void rewind(file * fp);
fseek 隨機定位int fseek(file *fp,long offset,int fromwhere);
功能:將fp的檔案位置指標從fromwhere開始移動offset個位元組指示下乙個要讀取的位置
offset(偏移量)為正向後移動 為負向前移動 要求為長整型資料(常量資料後面要加l)
fromwhere有三種取值:seek_set/0表示檔案來時處 seek_cur/1表示檔案當前位置 seek_end/2表示檔案結尾處
補充:int fflush(file * fp);
無條件地把緩衝區的所有資料寫入物理裝置
C 檔案操作與C 的檔案操作
c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...
C 檔案操作
c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...
C 檔案操作
c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...