c語言入門 《檔案操作》

2021-10-25 05:00:28 字數 3579 閱讀 3865

3、關閉檔案

總結開啟檔案函式——fopen(const char *, const char *)

第乙個引數:檔案路徑(1、相對路徑 2、絕對路徑)例如

1、相對路徑(和.c檔案在同一檔案目錄下,可直接寫檔名稱.檔案型別)

fopen

("text.txt"

,"w");

2、絕對路徑

fopen

("d:/studyfile/text.txt"

,"w");

1、"r"——開啟乙個檔案,可以讀取檔案

2、"w"——開啟乙個檔案,可以寫入檔案,如果沒有該檔案則建立改檔案,如果有則把檔案裡面原有內容刪除後再寫入

3、"a"——開啟乙個檔案,如果沒有該檔案則建立改檔案,如果有則在檔案後面追加內容

4、"r+"、"w+"、"a+"——即可讀也可寫

5、"rb"、"wb"、"ab"、"rb+"、"wb+"、"ab+"——與前面的模式相似,不過是以二進位制模式開啟而非文字模式

其中如果檔案開啟成功,則函式fopen(const char *, const char *)將返回乙個檔案指標(file *),如果檔案開啟失敗,則返回null

這一步驟是檔案操作的重要部分,簡單來說其實就是把「一堆內容」寫入檔案,或者從檔案中獲取「一堆內容」。

#include

#include

#include

intmain()

fclose

(fp)

;//關閉檔案,每次開啟檔案一定要關閉

file *read=

fopen

("text.txt"

,"r");

//開啟檔案,以讀的方式操作檔案

char key;

while

((key=

fgetc

(read))!=

eof)

fclose

(fp)

;return0;

}

這裡涉及到兩個檔案操作函式fputc(int, file *)和fgetc(file *)

fputc函式將使用者指定的內容以單字元的方式寫入檔案中

而fgetc函式將檔案中的內容以單字元的方式取出

#include

#include

intmain()

這裡涉及到兩個檔案操作函式fgets(char *, int, file *)和fputs(const char *, file *)

fputs、fgets與fputc和fgets的功能相似,但fputs和fgets是以字串的方式對檔案內容進行操作

值得注意的是:fets()函式在達到字元最大數目之前讀完了一整行,它將在字串的空字元之前新增乙個換行符以標識一行結束

#include

#include

struct person

;int

main()

,,};

//初始化結構體

file *fp=

fopen

("text.txt"

,"w");

for(

int i=

0;i<

3;i++

)fclose

(fp)

;struct person person1;

file *read=

fopen

("text.txt"

,"r");

while

(fscanf

(read,

"%s\t%d\n"

,person1.name,

&person1.age)

!=eof

)fclose

(read)

;return0;

}

這裡涉及到兩個檔案操作函式fprintf(file *, const char *, …)和fscanf(file *, const char *, …)

fprintf、fscanf和printf、scanf的功能相似,只是第乙個引數是乙個檔案指標

值得注意的是:eof是檔案結束識別符號(end of file)

#include

#include

struct person

;int

main()

,,};

//宣告並定義了乙個含有三個結構體的結構型別陣列

file *fp=

fopen

("text.txt"

,"w");

fwrite

(&person[0]

,sizeof

(struct person),3

,fp)

;//寫入

fclose

(fp)

; file *read=

fopen

("text.txt"

,"r");

struct person person2[3]

;fread

(&person2[0]

,sizeof

(struct person),3

,read)

;//獲取

for(

int i=

0;i<

3;i++

)fclose

(read)

;return0;

}

這裡涉及到兩個檔案操作函式**fwrite(const void *, size_t, size_t, file *)*和fread(void , size_t, size_t, file )

其中fwrite和fread的引數個數和意義一樣——

第乙個引數:寫入內容的首位址

第二個引數:每乙個資料的大小,以位元組為單位

第三個引數:寫入檔案的資料個數,如上例子,操作三個結構體

第四個引數:檔案指標

值得注意的是:用該方式讀寫檔案時,檔案裡面的(中文)內容可能是亂碼,但這是正常現象且不影響我們進行檔案操作,但如果我們需要檢視或者平時要用到檔案裡面的內容時,不建議採用這種方式讀寫檔案

簡簡單單

fclose

(file *

);

本文列舉了10個檔案操作函式(其實還有其它檔案操作函式,不過一般用的很少),其中fopen和fclose函式分別用來開啟、關閉檔案,而(fputc fgetc)、(fputs fgets)、(fprintf fscanf)、(fwrite fread)函式則用來讀寫檔案。

其中把文字內容寫進檔案的函式是:fputc、fputs、fprintf、fwrite

其中獲取檔案文字內容的函式是:fgetc、fgets、fscanf、fread

值得注意的是:獲取檔案文字內容的函式並不能把文字內容顯示到控制台黑視窗上,但如果我們想把文字裡面的文字內容顯示到控制台上,肯定得先用fputc等函式來獲取檔案裡面的內容,再用gets等其它標準庫函式把檔案裡面的內容顯示到控制台上

C語言檔案操作(入門級)

今天c語言實訓第一天剛剛接觸檔案操作,從一臉蒙蔽到基本會用僅僅只能分享給新手。套路基本一直,若想用檔案操作基本都有以下內容 file fp if fp fopen admin.txt w null feile fopen const char filename,const char mode 小括號...

c語言簡單入門之檔案操作

檔案的開啟與關閉 檔案的操作要求引入標頭檔案stdio.h 1,檔案型指標變數 file fp fp指的是乙個指向file型別結構體的指標變數。我們使fp指向某乙個檔案的結構體變數,從而通過該結構體變數中的檔案資訊能夠訪問該檔案。2,file型別的陣列 file f 5 定義了乙個結構體陣列f,它有...

c語言檔案操作

rt null ch fgetc fp while ch eof fclose fp 本 例程式的功能是從檔案中逐個讀取字元,在螢幕上顯示。程式定義了檔案指標fp,以讀文字檔案方式開啟檔案 d jrzh example ex1 1.c 並使fp指向該檔案。如開啟檔案出錯,給出提示並退出程式。程式第1...