一、磁碟上的檔案是檔案,在程式設計中,我們一般談到兩種檔案:
1.程式檔案:包括源程式檔案(字尾為.c),目標檔案(windows環境字尾為.obj),可執行程式(windows環境字尾 為.exe)。
2.資料檔案:檔案的內容不一定是程式,而是程式執行時讀寫的資料,比如程式執行需要從中讀取資料的檔案,或者輸出 內容的檔案。
根據資料的組織形式, 資料檔案 又被稱為被稱為 文字檔案 或者 二進位制檔案:
①:資料在記憶體中以二進位制的形式儲存,如果不加轉換的輸出到外存,就是二進位制檔案。
②: 如果要求在外存上以ascii碼的形式儲存,則需要在儲存前轉換。以ascii字元的形式儲存的檔案就是文字檔案。
資料在記憶體中儲存時:字元一律以ascii形式儲存,數值型資料既可以用ascii形式儲存,也可以使用二進位制形式儲存。舉個例子:
將 10000 分別用ascii形式儲存和二進位制形式儲存。
}二,檔案緩衝區
ansic 標準採用「緩衝檔案系統」處理的資料檔案的,所謂緩衝檔案系統是指系統自動地在記憶體中為程式中每乙個正 在使用的檔案開闢一塊「檔案緩衝區」。從記憶體向磁碟輸出資料會先送到記憶體中的緩衝區,裝滿緩衝區後才一起送到 磁碟上。如果從磁碟向計算機讀入資料,則從磁碟檔案中讀取資料輸入到記憶體緩衝區(充滿緩衝區),然後再從緩 沖區逐個地將資料送到程式資料區(程式變數等)。緩衝區的大小根據c編譯系統決定的。
三、檔案指標
每個被使用的檔案都在記憶體中開闢了乙個相應的檔案資訊區,用來存放檔案的相關資訊(如檔案的名字,檔案狀態 及檔案當前的位置等)。這些資訊是儲存在乙個結構體變數中的。該結構體型別是有系統宣告的,取名file.
file* pf;//檔案指標變數
四、檔案的開啟與關閉
檔案在讀寫之前應該先開啟檔案,在使用結束之後應該關閉檔案。
ansic 規定使用:
fopen() 函式來開啟檔案(在編寫程式的時候,在開啟檔案的同時,都會返回乙個file*的指標變數指向該檔案,也相當於建立了指標和檔案 的關係。)
fclose ()來關閉檔案(相當於將緩衝區刷到磁碟上,如果沒有fclose(),程式結束後也會沖刷到磁碟上,只是加上比較好。也可以用 fflush 等價於 fclose ())
四、檔案的隨機讀寫
①:fseek 根據檔案指標的位置和偏移量來定位檔案指標
seek_set:檔案開始;
seek_end:檔案結束;
seek_cur:檔案當前位置
②:ftell 返回檔案指標相對於起始位置的偏移量
③:rewind 讓檔案的位置回到檔案的起始位置
五、檔案結束判定
被錯誤使用的 feof
牢記:在檔案讀取過程中,不能用feof函式的返回值直接用來判斷檔案的是否結束。
而是應用於當檔案讀取結束的時候,判斷是讀取失敗結束,還是遇到檔案尾結束。
二進位制檔案的讀取結束判斷,判斷返回值是否小於實際要讀的個數。 例如: fread判斷返回值是否小於實際要讀的個數。
寫完之後找到了一篇關於檔案操作介紹比較好的部落格,分享給大家 。
c語言的檔案操作
1 int fseek file stream,long offset,int fromwhere 設定檔案位置指標stream的位置。2 char fgets char buf,int bufsize,file stream 從檔案結構體指標stream中讀取資料 每次讀取一行。讀取的資料儲存在b...
C語言的檔案操作
為什麼要用到檔案呢?在程式設計中我們需要對資料進行錄入,儲存,修改,檔案必不可少。通常把資料從磁碟流到記憶體稱為 讀 資料從記憶體流到磁碟稱為 寫 一.對於檔案的操作我們需要知道如下知識 檔案的開啟 檔案的關閉 檔案的讀入 檔案的寫入 二.以上操作對應的函式 1.fopen開啟 2.fclose關閉...
c語言的檔案操作
磁碟上的檔案是檔案。但是在程式設計中,我們一般談的檔案有兩種 程式檔案 資料檔案 乙個檔案要有乙個唯一的檔案標識,以便使用者識別和引用。檔名包含3部分 檔案路徑 檔名主幹 檔案字尾 例如 c code test.txt 為了方便起見,檔案標識常被稱為檔名。1.開啟檔案 2.關閉檔案 3.讀檔案 4....