今天mayuyu來學習c++檔案操作,在c++中關於檔案操作的方法主要有如下幾個
(1)fopen()
此函式的原型為
如果檔案開啟失敗會返回null,如果失敗一般會做判斷處理。引數說明如下
path代表檔名
mode代表資料流形態,一般有如下一些模式
r以唯讀的方式開啟檔案
r+以可讀寫方式開啟檔案
rb+以讀寫方式開啟乙個二進位制檔案
w開啟只寫檔案,如果檔案存在,則清空檔案並寫入新資料,如果不存在則建立新檔案
w+開啟可讀寫檔案,如果檔案存在,則清空檔案並寫入新資料,如果不存在則建立新檔案
a以附加的方式開啟只寫檔案,如果檔案存在,寫入的資料會被加到檔案尾,否則建立新檔案
a+以附加的方式開啟可讀寫的檔案,如果檔案存在,寫入的資料會被加到檔案尾,否則建立新檔案
wb只寫開啟或者建立乙個新的二進位制檔案,只允許寫資料
wb+讀寫開啟或者建立乙個新的二進位制檔案,允許讀和寫資料
ab+讀寫開啟乙個二進位制檔案,允許讀或者在檔案末尾追加資料
(2)fseek()
函式原型為
作用:把stream的檔案讀寫位置指標移到指定的位置。
引數說明:
stream fopen()得到的檔案指標
offset表示偏移量,正數表示正向偏移,負數表示負向偏移
fromwhere表示從檔案的**開始偏移,可能取值為seek_set,seek_cur,seek_en。
其中seek_set,seek_cur,seek_en值分別是0,1,2,也可以用它們來代替。
(3)ftell()
函式原型為
作用:得到檔案位置指標當前位置相對於檔案首的偏移位元組數。
引數為檔案的指標。
(4)fread()和fwrite()
函式原型如下
作用:分別用於讀取和寫檔案。引數說明(主要說明中間兩個引數)
size表示要讀寫的位元組數
count要進行讀寫多少個size位元組的資料項
**:
#include #include #define len 15
#define size 1024
char in_file[len];
char ou_file[len];
char buff[size];
int main(int argc, char **argv)
fseek(fd, 0, seek_end);
long len = ftell(fd);
fseek(fd, 0, seek_set);
fread(buff, len, 1, fd);
fclose(fd);
printf("input string is : %s\n", buff);
printf("the size of the input file is : %ld\n", len);
file *fp = fopen(ou_file, "w");
if(!fp)
fwrite(buff, len, 1, fp);
fclose(fp);
return 0;
}
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 一般情況下就是指的顯示器...