C 檔案操作

2021-06-27 13:35:50 字數 2272 閱讀 8307

今天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_setseek_curseek_en

其中seek_setseek_curseek_en值分別是012,也可以用它們來代替。

(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 一般情況下就是指的顯示器...