C語言筆記 檔案操作(讀取和寫入)

2021-09-23 01:57:31 字數 2529 閱讀 6798

說到檔案操作首先想到的就是檔案的開啟、關閉、讀取以及寫入等操作。檔案可以分為文字檔案和二進位制檔案,文字檔案也稱為ascii檔案,這種檔案在儲存時,每個字元對應乙個位元組,用於存放對應的ascii碼。二進位制檔案不是儲存sascii碼,而是按二進位制的編碼方式儲存檔案內容。

c語言中操作檔案是用乙個指向檔案的指標,這個檔案指標包含著這個檔案的資訊,c語言中規定為file型,宣告為:

typedef struct

如果要定義使用可以如下使用

file *fp;

說完了檔案指標的宣告和定義,接下來就是相關的檔案操作

開啟檔案

開啟檔案使用函式fopen(),呼叫形式如下:

file *fp;

fp = fopen(檔名,開啟檔案形式);

這兩個引數檔名不用多說就是要開啟檔案的名稱,至於第二個引數系統定義了如下幾個

r以唯讀方式開啟檔案,該檔案必須存在。

r+以讀/寫方式開啟檔案,該檔案必須存在。

rb+以讀/寫方式開啟乙個二進位制檔案,只允許讀/寫資料。

rt+以讀/寫方式開啟乙個文字檔案,允許讀和寫。

w開啟只寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失;若檔案不存在則建立該檔案。

w+開啟可讀/寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失;若檔案不存在則建立該檔案。

a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案;如果檔案存在,則寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留(eof 符保留)。

a+以附加方式開啟可讀/寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,則寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留(eof符不保留)。

wb以只寫方式開啟或新建乙個二進位制檔案,只允許寫資料。

wb+以讀/寫方式開啟或新建乙個二進位制檔案,允許讀和寫。

wt+以讀/寫方式開啟或新建乙個文字檔案,允許讀和寫。

at+以讀/寫方式開啟乙個文字檔案,允許讀或在文字末追加資料。

ab+以讀/寫方式開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

如果開啟失敗函式將返回null;

**示例如下,我新建了乙個test.txt

file *fp;

if ((fp = fopen("test.txt","r"))==null)

fclose(fp);

是個文字檔案並且我是以唯讀的形式開啟的。

關閉檔案

關閉檔案函式時fclosp(檔案指標),例如上面的fclose(fp)。

檔案寫操作

檔案寫操作相關的函式又fputc()、fputs()、fprintf()。前兩個可以模擬putc()和puts(),例如我要將乙個字元寫入檔案中

char ch = 'f';

fputc(ch,fp);

我將一串字元寫入本例中的檔案

fputs("qwertyuiopasdfghjklzxcvbnm0123456789",fp);
至於fprintf()是可以將各種各樣的資料按照一定的格式輸出到指定資料夾中

int i=70;

fprintf(fp,"%c",i);

將字元』a『寫入到資料夾中,開啟剛剛檔案可以看到已經寫入進去了

檔案讀操作

檔案讀操作對應的有fgetc()、fgets()以及fsanf(),分別與寫操作的三個函式相對應,fgetc()使用形式如下

char fc =fgetc(fp);

putchar(fc);

讀取單個字元,fgets()讀取字串,如下呼叫:

fgets(字元陣列名,n,檔案指標);

其中n表示所得到字串中字元的個數(包含「\0」)。

char fs[20] = ;

fgets(fs,10,fp);

輸出如下

先讀取單個列印了a,之後讀取了字串fqwe。

fscanf()函式是按照格式讀,形式如下:

fscanf(檔案指標,格式字串,輸入列表)

還是以本例中新建的檔案test.txt為例

char j;

int i;

for(i=0;i<10;i++)

輸出結果如下:

這些就是c語言中的檔案開啟、關閉以及讀寫了。

c 檔案讀取和寫入

新增命名空間 using system.io using system.text 把字串用指定的編碼寫入到指定的檔案中,如果檔案不存在或目錄不存在則建立。把字串用指定的編碼寫入到指定的檔案中,如果檔案不存在或目錄不存在則建立。public static void 將 utf 8 編碼文字追加到現有檔...

c 讀取和寫入檔案

使用ifstream和ofstream和read和write函式,以二進位制的方式,來完成檔案的讀和寫。日期 2019.10.12 功能 以二進位制讀取檔案內容 引數說明 filepath 檔案的路徑 outparam 讀取出來的內容 返回值 開啟檔案失敗返回 1,成功返回0 int readfil...

c 讀取csv檔案和寫入檔案

一直以來感覺對檔案的讀寫和流的使用比較陌生,最近在寫的乙個project正好需要讀取csv檔案的資料和建立新的csv檔案,於是在網上看了一些對csv檔案讀寫操作的文章,基本了解了大概的操作。讀取.csv檔案 注意 csv檔案是用 作為分隔符,所以每次讀取到 截止。如下 include include...