c語言檔案輸入輸出
1.開啟文字基本格式:
file *變數名=fopen(「檔名」, 」開啟方式」);
如:file *fp=fopen(「test.txt」, 」r」);
可以理解為生成了乙個file型別的指標變數fp,指向了以唯讀方式開啟的檔案」test.txt」,此後對fp的操作即是對該檔案的操作。
2.幾種常用的開啟方式及其描述:
r
以唯讀方式開啟檔案,該檔案必須存在。
r+ 以可讀寫方式開啟檔案,該檔案必須存在。
rb+
讀寫開啟乙個
二進位制檔案
,允許讀寫資料。
rw+
讀寫開啟乙個文字檔案,允許讀和寫。 w
開啟只寫檔案,若檔案存在則檔案長度清為
0,即該檔案內容會消失。若檔案不存在則建立該檔案。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。 a
以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(
eof符保留)
a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。
(原來的
eof符不保留)
wb 只寫開啟或新建乙個二進位制檔案;只允許寫資料。
wb+
讀寫開啟或建立乙個二進位制檔案,允許讀和寫。
ab+
讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。
at+
開啟乙個叫
string
的檔案,a表示
就是說寫入處理的時候是接著原來檔案已有內容寫入,不是從頭寫入覆蓋掉,
t表示開啟檔案的型別是文字檔案,
+號表示對檔案既可以讀也可以寫。
fopen() 用於開啟乙個檔案,例如:file *fp=fopen(「test.txt」, 」r」);
fclose() 用於在程式結束的時候關閉乙個檔案流, 以防止資料出錯,例如:fclose(fp);
fprintf() 按格式輸入到檔案(即寫入到檔案)
例如:fprintf(fp, 「%d」, a);//表示把整型變數a寫入到檔案;
fscanf() 從檔案中按格式讀取
例如:fscanf(fp, 「%d」, &b);//表示從檔案中讀取乙個整型數並賦值給b;
feof() 判斷是否到檔案末尾,如果是其值為真,否則為假
fseek() 定位檔案指標位置(即操作的位置)
格式:fseek( file *stream, long offset, int origin );
第乙個引數
stream
為檔案指標
第二個引數
offset為偏移量,正數表示正向偏移,負數表示負向偏移
第三個引數
origin
設定從檔案的**開始偏移
,可能取值為
seek_cur
、seek_end
或seek_set:
seek_set
:檔案開頭
seek_cur
:當前位置
seek_end
:檔案結尾 其中
seek_set,seek_cur
和seek_end
依次為0,1
和2.簡言之:
fseek(fp, 100l, 0);
把stream
指標移動到離檔案開頭
100位元組處;
fseek(fp, 100l, 1);
把stream
指標移動到離檔案當前位置
100位元組處;
fseek(fp, -100l, 2);
把stream
指標退回到離檔案結尾
100位元組處。
輸入到文字(寫入到文字)
所用函式:fprintf()
例如:fprintf(fp, 「%d」, a);//表示把整型變數a寫入到檔案;
例項:
#includeint main()
如圖所示,已成功生成檔案並寫入資料:
從文字輸出(從文字讀取)
所用函式:fscanf()
例如:fscanf(fp, 「%d」, &b);//表示從檔案中讀取乙個整型數並賦值給b;
例項:
#includeint main()
C C 基本輸入輸出
include include include 文字方式寫入和二進位制方式寫入的區別 using namespace std define error 1 define ok 0 int writefilewithcstyle file fp fp fopen 1.txt w if null fp ...
C C 檔案的輸入輸出
file 是一種檔案型別,也稱檔案指標 注意 以下程式均為在vs2013中的用法,針對其他編譯器,寫法略有不同,但對檔案的用法都一樣!定義 file fp fgetc fp 從fp所指的檔案讀乙個字元 fputc ch,fp 將ch字元寫到檔案指標變數fp所指的檔案中 fopen s fp,yy.t...
C C 輸入 輸出
在c語言中,我們的輸入輸出靠的是標準庫函式,最常用的就是 scanf 和 printf 這一對了。那麼c 又是怎麼樣實現輸入輸出的呢?下面來寫c 的第乙個程式!include using namespace std int main 不難看出,它有以下特徵 1.使用cout標準輸出 控制台 和cin...