C檔案操作

2021-09-06 12:35:23 字數 2243 閱讀 2067

1,概論

程式執行時,程式本身和資料一般都存放在記憶體中,程式執行結束後,存放在記憶體中的資料會被釋放,如果長期儲存程式執行所需的原始資料,或程式產生的結果資料,就必須以檔案的形式儲存到外部儲存介質上.

2,c語言檔案概述

1

,檔案與檔名

檔案是指存放在外部儲存介質上的資料集合.為標識乙個檔案,需要給每個檔案定乙個檔名,檔名一般格式,主檔名.[副檔名]

2,檔案分類

可以從不同的角度對檔案進行分類,

根據檔案內容,可分為程式檔案與資料檔案,

程式檔案又可以分為原始檔,目標檔案,可執行檔案.

3,根據檔案的儲存形式:分為ascii和二進位制檔案.

ascii碼檔案的每乙個位元組儲存乙個字元,便於對對字元進行處理,一般占用儲存空間較多,而且需花費轉換時間[ascii與二進位制間互為轉換]

二進位制檔案,是把記憶體中的資料,原樣輸出到磁碟檔案中,可以節省磁碟儲存空間和ascii和二進位制間互為轉換時間.二進位制檔案中乙個位元組並對應乙個字元,不能直接輸出字元形式,不便於維護閱讀.

3,檔案讀寫,

讀檔案是指,將磁碟檔案中的資料傳送到記憶體的操作.

寫檔案是指,將計算機記憶體中的資料向磁碟檔案中傳.

構成檔案的基本單元與流式檔案

c語言將檔案看作是由乙個個字元[ascii碼檔案],或位元組組成的,將這種檔案稱作流式檔案,

在高階語言中組成檔案的基本單位是記錄,對檔案操作的基本單位也是記錄.

4,檔案型別

每個被使用的檔案都在記憶體中開闢乙個區

用來存放檔案的相關資訊,(檔名,狀態,位置),這些資訊儲存在乙個結構體型別變數中,file,結構體型別由系統定義;

typedef

struct

file;

5,檔案操作型別,結構體型別

定義file型別指標變數

file指標型別變數定義

file *指標變數名;

eg:file *fp;

fp是乙個指向file結構體的指標變數;

可以使fp指向某個檔案的結構體變數,從而通過該結構體變數中的檔案資訊來訪問檔案.

6,檔案開啟函式

fopen(),呼叫方式

file *fp;

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

^fp-->使用者自定義的檔案型別指標變數;

檔案的使用方式,具有特定含義的符合

fopen函式功能:以指定的方式開啟指定的檔案,若操作成功,則返回乙個指向該檔案的指標,若開啟檔案時錯誤,返回null;

例如:file *fp;

fp=fopen("

/c/005/ruiy.dat

","rw+

");

7,檔案的使用方式;

檔案的操作模式基本字元[單獨使用是對文字檔案];

r -->僅為讀二開啟,(唯讀檔案)

w-->僅為寫開啟, (建立新檔案)

a -->僅為新增而開啟, (寫舊檔案)

【注意】前面不是說了嗎:c把檔案看作是有乙個ascii字元或乙個二進位制字元組成的.

2,按二進位制格式讀寫檔案,字元方式+b;

b輔助說明,按二進位制格式讀寫檔案.

eg:fp=fopen("

ruiy.dat

","rb

");

8,fclose

usage:int fclose(file *指標變數名);

功能:關閉檔案指標所指向的檔案,正常關閉了,函式返回值為0,失敗則為非0;

fclose(fp);//關閉檔案所指向的檔案;

9,檔案讀寫操作

單個字元操作讀寫函式,

fputc函式

一般呼叫形式:

fputc(字元常量或變數,檔案指標);

功能:把指定字元存入檔案指標所指向的檔案中;

如果輸出失敗,則返回乙個eof,(-1);

eof是在stdio.h標頭檔案中的定義的符合常量,值為-1,

eg:fputc(ch,fp);

其中ch為字元變數,fp為檔案指標,

含義,將ch的值輸出到ftp所指向的檔案中

fgetc函式;

一般呼叫形式,字元變數=fgetc(檔案指標);

功能:從檔案指標所指檔案中讀取乙個字元賦給指定的字元變數,當遇到乙個檔案結束符,返回乙個檔案結束符標誌

eg:ch=fgetc(fp);

C 檔案操作與C 的檔案操作

c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...

C 檔案操作

c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...

C 檔案操作

c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...