C語言 檔案操作

2021-10-04 00:07:19 字數 2857 閱讀 9506

程式設計中檔案有兩種:程式檔案、資料檔案

程式檔案:

包括源程式檔案(字尾.c),目標檔案(windows環境字尾為.obj),可執行程式(windows環境字尾為.exe)。

資料檔案

檔案內容不一定是程式,而是程式執行時讀寫的資料,也是本章討論的重點。

檔案的標識,方便使用者識別和使用

檔名的組成:檔案路徑+檔名主幹+檔案字尾

例如:c:\\desktop\bite.txt

檔案表示常被稱為檔名

每個被使用的檔案都在記憶體中開闢了乙個相應的檔案資訊區,用來存放檔案的相關資訊(如檔案的名字,檔案狀態及檔案當前的位置等)。這些資訊是儲存在乙個結構體變數中的。該結構體型別是有系統宣告的,取名file.

struct _iobuf 

;typedef

struct _iobuf file;

這是vs2013中,flle結構體的定義,我們一幫用file的指標來訪問和維護結構體中的變數,例如:file* pf;在程式中操作檔案,在檔案讀寫之前應該先開啟檔案,在檔案使用結束後應該關閉檔案

在編寫程式的時候,在開啟檔案的同時,都會返回乙個file*的指標變數指向該檔案,也相當於建立了指標和檔案

的關係。

ansic 規定使用fopen函式來開啟檔案,fclose來關閉檔案。

file * fopen (

const

char

* filename,

const

char

* mode )

; 引數分別是檔名和開啟方式

int fclose ( file * stream )

; 關閉其fopen對應的檔案指標

開啟方式如下

「r」(唯讀) 為了輸入資料,開啟乙個已經存在的文字檔案 檔案不存在出錯

「w」(只寫) 為了輸出資料,開啟乙個文字檔案 檔案不存在建立乙個新的檔案

「a」(追加) 向文字檔案尾新增資料 檔案不存在出錯

「rb」(唯讀) 為了輸入資料,開啟乙個二進位制檔案 檔案不存在出錯

「wb」(只寫) 為了輸出資料,開啟乙個二進位制檔案 檔案不存在建立乙個新的檔案

「ab」(追加) 向乙個二進位制檔案尾新增資料 檔案不存在出錯

「r+」(讀寫) 為了讀和寫,開啟乙個文字檔案 檔案不存在出錯

「w+」(讀寫) 為了讀和寫,建議乙個新的檔案 檔案不存在建立乙個新的檔案

「a+」(讀寫) 開啟乙個檔案,在檔案尾進行讀寫 檔案不存在建立乙個新的檔案

「rb+」(讀寫) 為了讀和寫開啟乙個二進位制檔案 檔案不存在出錯

「wb+」(讀寫)為了讀和寫,新建乙個新的二進位制檔案 檔案不存在建立乙個新的檔案

「ab+」(讀寫) 開啟乙個二進位制檔案,在檔案尾進行讀和寫 檔案不存在建立乙個新的檔案

檔案順序讀寫

舉例如下:

以「w」只寫的形式使用fputs輸入流輸入字串

#include

intmain()

return0;

}

輸入成功:

檔案的隨機讀寫

fseek

根據檔案指標的位置和偏移量定位指定檔案

int fseek (file* stream,

long

int offset,

int origin)

;引數分別對應檔案指標、偏移量、起始位置

第乙個引數是檔案指標

**如下:

#include

intmain()

return0;

}

執行結果:

返回檔案指標相對於起始位置的偏移量

long

int ftell ( file * stream )

;

舉例:

c語言檔案操作

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

C語言檔案操作

1.首先要理解幾個概念 檔案 按一定規則儲存在磁碟上的資料集合。檔名 能唯一標識某個磁碟檔案的字串。形式 碟符 路徑 檔名.副檔名 二進位制檔案 資料以二進位制形式在儲存在磁碟上。裝置檔案 輸入 輸出裝置 標準輸入檔案 鍵盤 標準輸出檔案 標準錯誤輸出檔案 顯示器 檔案型指標 c語言是通過名為fil...

C語言檔案操作

1,兩種檔案訪問方式 輸入,輸出方式 順序訪問 直接訪問 2,資料的兩種存放形式 文字檔案 二進位制檔案 3.檔案指標 定義檔案型別指標變數的一般形式 file 指標變數名 例如 file fp1,fp2 4.開啟檔案 在使用檔案之前,需開啟檔案.在c裡使用fopen函式開啟檔案.格式為 fopen...