C語言 檔案操作(1)

2021-10-16 17:54:43 字數 1725 閱讀 4420

目錄:

c檔案概述

檔案型別指標

檔案的開啟與關閉

檔案的讀寫

檔案的定位

出錯的檢測

檔案輸入輸出小結

所謂檔案是指相關資料的有序集合。這個資料集有乙個名稱,叫做檔名。實際上我們已經多次使用了檔案,例如源程式檔案、目標檔案

、可執行檔案、庫檔案(標頭檔案)等。

檔案通常是駐留在外部介質(磁碟等)上的,使用時才調入記憶體中來。從不同的角度可對檔案作不同的分類。從使用者的角度看檔案可分為普通檔案和裝置檔案兩種。

作業系統是以檔案為單位對資料進行管理的。

對於檔案不管作輸入、輸出都有其緩衝區。

從使用者觀點:

特殊檔案(標準輸入、輸出檔案或標準裝置檔案)

普通檔案(磁碟檔案)

從作業系統的角度來看:

每乙個與主機相連的輸入、輸出裝置看作是乙個檔案。

例如:輸入檔案:終端鍵盤。

輸出檔案:顯示屏和印表機

檔案的分類:

按資料的組織形式:

ascii檔案:每乙個位元組放乙個ascii**

二進位制檔案:把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上存放。

ascii檔案便於對字元進行逐個處理,也便於輸出字元。但一般佔儲存空間較多,而且要花費轉換時間。

二進位制檔案可以節省外存空間和轉換時間,但乙個位元組並不對應乙個字元,不能直接輸出字元形式。

一般中間結果資料需要暫時儲存在外存上,以後又需要輸入記憶體的,常用二進位制檔案儲存。

c語言對檔案的處理方法:

緩衝檔案系統:系統自動地在記憶體區為每乙個正在使用的檔案開闢乙個緩衝區。用緩衝檔案系統進行的輸入輸出又稱為高階磁碟輸入輸出。

非緩衝檔案系統:系統不自動開闢確定大小的緩衝區,而由程式為每個檔案設定緩衝區。用非緩衝檔案系統進行的輸入輸出又稱為低階輸入輸出系統。

檔案的開啟與關閉

檔案型指標變數:file *fp ;

fp是乙個指向file類 型結構體的指標變數 。我們使fp指向某乙個檔案的結構體變數,從而通過該結構體變數中的檔案資訊能夠訪問該檔案。

如果有n個檔案,一般應設n個指標變數,使它們分別指向幾個檔案,以實現對檔案的訪問。

file型別的陣列:

file f[ 5] ;定義了乙個結構體陣列f,它有5個元素,可以用來存放5個檔案的資訊。

一.檔案的開啟(fopen函式)

函式呼叫:

file *fp ;

fp= fopen (檔名,使用檔案方式) ;

注意:o需要開啟的檔名,也就是準備訪問的檔案的名字0使用檔案的方式(「讀」還是「寫」等) ;

o讓哪乙個指標變數指向被開啟的檔案。

對於檔案使用方式有以下幾點說明

凡用「r開啟乙個檔案時,該檔案必項已經存在,且只能從該檔案讀出。

用「w」開啟的檔案只能向該檔案寫入。若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。

若要向乙個已存在的檔案追加新的資訊,只能用「a」方式開啟檔案。但此時該檔案必項是存在的,否則將會出錯。

在開啟乙個檔案時,如果出錯,fopen將返回乙個空指標值null。

在程式中可以用這一-資訊來判別是否完成開啟檔案的工作,並作相應的處理。

把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼,而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。

C語言檔案操作整理1

所有檔案都可以採用二進位制方式進行操作 c語言中檔案操作基本步驟 1.開啟檔案 fopen 2.操作檔案 fread fwrite 3.關閉檔案 fclose 如果想要長期儲存資料所以必須儲存在檔案裡 檔案裡採用二進位制方式記錄數字 與記憶體記錄數字方式相同 注 雖然檔案中的資料都是二進位制資料,但...

C 檔案操作 1

include include include using namespace std strm iostate 機器相關的整形名,由各個類定義,用來定義條件狀態。strm是ios,ifstream,ofstream strm badbit strm iostate型別的值,用於指出被破壞的流,標誌...

C 檔案操作1

2018 5 31 1.iostream 1.在c 中作為標準庫存在,在其中含有著istream 輸入流 和ostream 輸出流 相當於兩個內建的類,同時,我們使用的cin,cout相當於類中的物件 注 可以對 和 進行過載,從而實現直接輸出物件名直接輸出內部內容的效果 include 含有ist...