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