c語(yǔ)言對(duì)文件的操作 c語(yǔ)言文件操作分為哪四步?
開(kāi)發(fā)一個(gè)C語(yǔ)言程序有四個(gè)步驟:編輯、編譯、鏈接和運(yùn)行。C語(yǔ)言程序可以在任何架構(gòu)的處理器上使用,只要那個(gè)架構(gòu)的處理器有相應(yīng)的C語(yǔ)言編譯器和庫(kù),然后就可以把C源代碼編譯連接成目標(biāo)二進(jìn)制文件再運(yùn)行。1.預(yù)處
開(kāi)發(fā)一個(gè)C語(yǔ)言程序有四個(gè)步驟:編輯、編譯、鏈接和運(yùn)行。
C語(yǔ)言程序可以在任何架構(gòu)的處理器上使用,只要那個(gè)架構(gòu)的處理器有相應(yīng)的C語(yǔ)言編譯器和庫(kù),然后就可以把C源代碼編譯連接成目標(biāo)二進(jìn)制文件再運(yùn)行。
1.預(yù)處理:輸入源程序并保存(。c文件)。
2.編譯:將源程序翻譯成目標(biāo)文件(。OBJ文件)。
3.鏈接:將目標(biāo)文件生成為可執(zhí)行文件(。
C語(yǔ)言的文件位置是fseek函數(shù)fseek(文件指針,位偏移量,起始點(diǎn));起點(diǎn)c提供了文件的開(kāi)始。
文件的當(dāng)前位置
文件末尾的三個(gè)值分別對(duì)應(yīng)0。
一個(gè)
2、位偏移量是多少字節(jié)而不是幾行。C語(yǔ)言好像不支持以線的形式移動(dòng)指針。
示例:
如何使用C語(yǔ)言中的文件
一、文件指針的定義
FILE *fp//注意FILE的大寫。
二。打開(kāi)文件
Fpfopen(#34(路徑)文件名,文件格式后綴#34,#34文件使用方法#34)//注意路徑是//而不是/
三。使用文檔的方法
1. "r "模式:
1.1打開(kāi)文件進(jìn)行只讀操作,即只能從文件中讀取內(nèi)容。
1.2如果要操作的文件不存在,打開(kāi)失敗。
1.3當(dāng)文件成功打開(kāi)時(shí),文件指針位于文件的開(kāi)頭。
1.4打開(kāi)文件后,文件中的原始內(nèi)容不會(huì)被清空。
1.5可以從文件的任何地方讀取內(nèi)容。
2.#34w#34模式:
2.1為 amp打開(kāi)文件只寫 "操作,即只能寫入文件。
2.2如果要操作的文件不存在,創(chuàng)建一個(gè)新文件。
2.3文件打開(kāi)成功后,文件指針位于文件的開(kāi)頭。
2.4打開(kāi)文件后,文件中的原始內(nèi)容將被清空。
2.5內(nèi)容可以寫入文件中的任意位置,寫入時(shí)會(huì)覆蓋原位置。
3.#34a#34模式:
3.1為 amp打開(kāi)文件;"附加 "操作,即只能寫入文件。
3.2如果要操作的文件不存在,創(chuàng)建一個(gè)新文件。
3.3當(dāng)文件打開(kāi)成功時(shí),文件指針位于文件的末尾。
3.4打開(kāi)文件后,文件中的原有內(nèi)容不會(huì)被清空。
3.5只能將內(nèi)容追加(寫入)到文件末尾。
4.#34r #34模式:
4.1為 amp打開(kāi)文件讀和寫 "操作,即可以讀寫。
4.2如果要操作的文件不存在,打開(kāi)失敗。。
4.3文件打開(kāi)成功后,文件指針位于文件的開(kāi)頭。
4.4打開(kāi)文件后,文件中的原有內(nèi)容不會(huì)被清空。
4.5讀寫都可以在文件的任何地方進(jìn)行,寫的時(shí)候會(huì)覆蓋原位置的內(nèi)容。
5.#34w #34模式:
5.1為打開(kāi)文件 "讀和寫 "操作,即可以讀寫。
5.2如果要操作的文件不存在,創(chuàng)建一個(gè)新文件。
5.3文件打開(kāi)成功后,文件指針位于文件的開(kāi)頭。
5.4打開(kāi)文件后,文件中的原始內(nèi)容將被清空。
5.5讀寫內(nèi)容都可以在文件的任何地方進(jìn)行,寫的時(shí)候會(huì)覆蓋原位置的內(nèi)容。
6.#34a #34模式:
6.1為打開(kāi)文件 "讀和寫 "操作,即可以讀寫。
6.2如果要操作的文件不存在,創(chuàng)建一個(gè)新文件。
6.3當(dāng)文件成功打開(kāi)時(shí),文件指針位于文件的末尾。
6.4打開(kāi)文件后,文件中的原有內(nèi)容不會(huì)被清空。
6.5讀取內(nèi)容時(shí),可以在任何位置進(jìn)行,但寫入內(nèi)容時(shí),只會(huì)追加到文件末尾。
三。文件處理功能
A.fgetcfputc(字符)
Fgetc的意思是從文件指針流指向的文件中讀取一個(gè)字符。讀取一個(gè)字節(jié)后,光標(biāo)位置向后移動(dòng)一個(gè)字節(jié)。
Fgetc格式
文件*流
Fputc的意思是將字符ch寫到文件指針fp所指向的文件的當(dāng)前寫指針的位置。
Fputc格式
fputc(char c,F(xiàn)ILE *fp)
B.fgetsfputs(字符串)
fgets函數(shù)從指定的流中讀取數(shù)據(jù),一次讀取一行。從指定的流中讀取一行,并將其存儲(chǔ)在str指向的字符串中。它在讀取(n-1)個(gè)字符時(shí)停止,或者在讀取一個(gè)新行字符時(shí)停止,或者在到達(dá)文件末尾時(shí)停止,視具體情況而定。
Fgets格式:
fgetc(char *str,int n,F(xiàn)ILE *stream)
Fputs是一個(gè)函數(shù),具有將字符串寫入指定文件的功能(字符串結(jié)束標(biāo)記 0 不是自動(dòng)寫入的)。成功寫入一個(gè)字符串后,文件的位置指針會(huì)自動(dòng)后移,函數(shù)返回值為非負(fù)整數(shù);否則,返回EOF(符號(hào)常量,其值為-1)。
Fputs格式:
fputs(const char *str,F(xiàn)ILE *stream)
返回值:如果出現(xiàn)錯(cuò)誤,該函數(shù)返回一個(gè)非負(fù)值和EOF(-1)。
(1)str:這是一個(gè)數(shù)組,包含描述了以要寫入的空字符結(jié)束的字符序列。
(2)stream:指向文件對(duì)象的指針,標(biāo)識(shí)要寫入字符串的流。
C.讀取和寫入數(shù)據(jù)塊
freadfwrite
Fread從給定的輸入流中讀取count個(gè)對(duì)象到數(shù)組緩沖區(qū)中(相當(dāng)于調(diào)用fgetc來(lái)計(jì)算每個(gè)對(duì)象的計(jì)數(shù)次數(shù)),將緩沖區(qū)視為無(wú)符號(hào)char數(shù)組,并按順序保存結(jié)果。由流的文件位置指示器向前讀取的字節(jié)數(shù)。
如果出現(xiàn)錯(cuò)誤,則流的文件位置指示符的位置不確定。如果最后一個(gè)元素沒(méi)有被完全讀取,它的值是不確定的。
Fread格式:
fread( void *buffer,size_t size,size_t count,F(xiàn)ILE *stream)
Fwrite()是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中的一個(gè)文件處理函數(shù)。它的作用是將幾個(gè)數(shù)據(jù)塊寫入指定的文件,如果執(zhí)行成功,將返回實(shí)際寫入的數(shù)據(jù)塊的個(gè)數(shù)。這個(gè)函數(shù)對(duì)二進(jìn)制形式的文件進(jìn)行操作,不限于文本文件。
Fwrite格式:
fwrite(const void *ptr,size_t size,size_t nmemb,F(xiàn)ILE *stream)
返回值:返回實(shí)際寫入的數(shù)據(jù)塊數(shù)。
(1)buffer:是指針,對(duì)于fwrite,是獲取數(shù)據(jù)的地址;
(2)size:要寫入的單字節(jié)數(shù);
要寫入的數(shù)據(jù)項(xiàng)的數(shù)量,以大小字節(jié)為單位,單位為(3);
(4)目標(biāo)文件指針;
(5)返回實(shí)際寫入的數(shù)量計(jì)數(shù)數(shù)據(jù)項(xiàng)。
D.fscanffprintf
fscanf的作用是根據(jù)數(shù)據(jù)格式從輸入流中讀取數(shù)據(jù),存儲(chǔ)在自變量中,遇到空格和換行符時(shí)結(jié)束。
Fscanf格式:
fscanf(文件*流,常量字符*格式,[參數(shù)...])
函數(shù)的作用是:根據(jù)指定的格式將數(shù)據(jù)(參數(shù))寫入輸出流。
Fprintf格式:
fprintf(文件*流,常量字符*格式,[參數(shù)])
Stream -這是一個(gè)指向文件對(duì)象的指針,用來(lái)標(biāo)識(shí)流。
format——這是一個(gè)C字符串,包含要寫入流中的stre。am中的文本。它可以包含嵌入的格式標(biāo)記,這些標(biāo)記可以由后續(xù)附加參數(shù)中指定的值替換,并根據(jù)需要進(jìn)行格式化。
格式標(biāo)簽屬性為% [flags] [width] [。精度][長(zhǎng)度]說(shuō)明符。
[參數(shù)]:附加參數(shù)列表
注意,當(dāng)格式中有n個(gè)閱讀長(zhǎng)度時(shí),系統(tǒng)將為 0 。如果要讀10,n應(yīng)該定義為10 ^ 1。
記住在每次引用文件后關(guān)閉打開(kāi)的文件。
Fclose(fp)//fp是定義的文件指針。