1、檔案
在程式設計中,一般檔案有兩種:程式檔案、資料檔案
(1)程式檔案:包括源程式檔案(字尾為.c),目標檔案(windows環境字尾為.obj),可執行檔案(windows字尾為.exe)
(2)資料檔案:檔案內容不一定是程式,而是程式執行時讀寫的資料。
2、檔名
檔名包含3部分:檔案路徑+檔名主幹+檔案字尾
3、檔案型別
根據資料的組織形式,資料檔案被稱為文字檔案(以ascii字元的形式儲存的檔案)或二進位制檔案(資料在記憶體中以二進位制的形式儲存,不加轉換的輸出到外存)
資料在記憶體中一律以ascii形式儲存,數值型資料既可以用ascii形式儲存,也可以用二進位制形式儲存
c程式在啟動時,系統預設開啟三個檔案:標準輸入、標準輸出、標準錯誤;對應的硬體裝置依次是:鍵盤、顯示器、顯示器;對應的file*分別叫做:stdin、stdout、stderr
4、檔案緩衝區
緩衝區就是一塊記憶體區域
緩衝區存在的價值:提高程式執行效率
緩衝分類:無緩衝、行緩衝、全緩衝
普通硬碟上的檔案c採用的是全緩衝;一般顯示器對應的緩衝重新整理方式是行緩衝。
5、檔案指標
file* pf;
定義pf是乙個指向file型別資料的指標變數,可以使pf指向某個檔案的檔案資訊區(是乙個結構體變數)。通過該檔案資訊區中的資訊就能夠訪問該檔案。也就是通過檔案指標變數能夠找到與它關聯的檔案。
6、檔案的開啟和關閉
使用fopen函式開啟檔案
fclose函式關閉檔案
檔案開啟方式
檔案使用方式
含義如果指定檔案不存在
"r"(唯讀)
為了輸入資料,開啟乙個已經存在的文字檔案
出錯"w"(只寫)
為了輸出資料,開啟乙個文字檔案
建立乙個新的檔案
"a"(追加)
向文字檔案尾新增資料
出錯"rb"(唯讀)
為了輸入資料,開啟乙個二進位制檔案
出錯"wb"(只寫)
為了輸出資料,開啟乙個二進位制檔案
建立乙個新的檔案
"ab"(追加)
向乙個二進位制檔案尾新增資料
出錯"r+"(讀寫)
為了讀和寫,開啟乙個文字檔案
出錯"w+"(讀寫)
為了讀和寫,建立乙個新的檔案
建立乙個新的檔案
"a+"(讀寫)
開啟乙個檔案,在檔案尾進行讀寫
建立乙個新的檔案
"rb+"(讀寫)
為了讀和寫,開啟乙個二進位制檔案
出錯"wb+"(讀寫)
為了讀和寫,新建乙個二進位制檔案
建立乙個新的檔案
"ab+"(讀寫)
開啟乙個二進位制檔案,在檔案尾進行讀和寫
建立乙個新的檔案
例項:
#includeint main()
return 0;
}
7、檔案的順序讀寫功能
函式名適用於
字元輸入函式
fgetc
所有輸入流
字元輸出函式
fputc
所有輸出流
文字行輸入函式
fgets
所有輸入流
文字行輸出函式
fputs
所有輸出流
格式化輸入函式
fscanf
所有輸入流
格式化輸出函式
fprintf
所有輸出流
二進位制輸入
fread
檔案二進位制輸出
fwrite檔案
8、檔案的隨機讀寫
(1)fseek:根據檔案指標的位置偏移量來定位檔案指標
int fseek(file* stream, long int offset, int origin);
(2)ftell:返回檔案指標相對於起始位置的偏移量
long int ftell(file* stream);
(3)rewind:讓檔案指標的位置回到檔案的起始位置
void rewind(file* stream);
9、檔案結束的判定
在檔案讀取過程中,不能用feof函式的返回值直接判定檔案是否結束,而是應用於當檔案讀取結束的時候,判斷是否讀取失敗,還是遇到檔案尾結束。
(1)文字檔案讀取是否結束,判返回值是否為eof(fgetc),或者null(fgets)
(2)二進位制檔案的讀取結束判斷,判斷返回值是否小於實際要讀取的個數
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...