檔案的基本知識點

2021-07-24 13:49:12 字數 3743 閱讀 7397

本章設計的知識點

12 .1檔案的簡介

12.1.1 緩衝檔案的定義形式如下:

file  *指標名;
通過檔案指標可以進行檔案的讀、寫操作

12.1.2 非緩衝檔案

緩衝檔案是通過檔案指標實現對檔案的讀和寫操作的

非緩衝檔案是通過作業系統提供的功能實現檔案的讀和寫的操作。

12.2 與檔案有關的庫函式

12.2.1 檔案的開啟和關閉函式

fp =fopen(檔名,檔案操作方式);
檔案的關閉通過fclose()函式實現,其呼叫形式如下

file *fp;

fclose(fp);

12.2.2 檔案的讀寫函式

1、fputc()函式

呼叫形式

fputc(c,fp);
功能:將字元c中儲存的字元寫至fp所指的檔案中。

2、fgetc()函式

呼叫形式:

c=fgetc(fp);
功能:從某一檔案中讀取乙個字元,同時檔案開啟方式必須為讀方式或寫方式。

file *fp;

fp=fopen("file.txt","r");

c=fgetc(fp);

從file.txt文字檔案中讀取乙個字元,因為位置指標沒有賦值,因此讀取的是該檔案中的第乙個字元。fgetc()函式讀到檔案的末尾,則會返回乙個結束符eof,其值為-1,因此如果想要讀取檔案中的所有內容。

上乙個程式可以改為如下形式:

file *fp;

fp=fopen("file.txt","r");

c=fgetc(fp);

while(c!=eof)

3、fread()函式

呼叫形式

fread(buff.size,count,fp);
struct st

s[10];

定義乙個結構體陣列s,其中包含10個元素,每乙個元素都包含姓名、年齡、性別、分數等資訊資料

for(i=0;i

<10;i++)

fread(&s[i],sizeof(struct st),1,fp);

結構體陣列s分別儲存了每乙個學生的資訊,其中&s[i]表示第i個元素的位址,因為fread()函式是將資料寫入變數位址中,因此該引數必須為變數的位址。

4、fwrite()函式

呼叫形式:

fwrite(buff,size,count,fp);
struct st

s[10];

上述結構已初始化,要將這10名學生的資訊寫入檔案,

for(i=0;i

<10;i++)

fwrite(&s[i],sizeof(struct st),1,fp);

5、fprintf()函式

呼叫方式

fprintf

(檔案指標,格式,輸出變數名);

功能:對檔案進行格式化

fprintf(fp,"%d,%c",n,c);
整型變數n和字元變數c表示按%d,%c的格式寫至指標fp所指的檔案中。

6、fscanf()函式

呼叫形式:

fscanf

(檔案指標,格式,輸入變數名);

功能:對檔案進行格式化讀。

fprint(fp,"%d,%c",&n,&c);
輸出是要將二進位制轉換為字元型式

12.3.1 feof()函式

呼叫形式:

feof(檔案指標);
判斷檔案指標是否到檔案末尾

file *fp;

feof(fp);

判斷檔案是否移動到檔案的末尾,若檔案指標移動到末尾,則feof()函式的返回值為1,否則該函式的返回值為0.

12.3.2 rewind()函式

呼叫形式:

rewind(檔案指標);
功能:使位置指標重新移動到檔案的開頭

rewind(fp);
通過呼叫rewind()函式,使指標fp指向檔案的起始位置

fseek()函式和檔案隨機訪問

呼叫形式:

fseek(檔案指標,移動量,起始位置);
功能使位置指標指向固定的位置。

ftell()函式

呼叫形式:

ftell(檔案指標);
功能:用於獲取檔案指標當前位置,其值為從檔案起始處的位移量。

ftell(fp);
用於獲取檔案指標fp當前的位置。ftell()函式也有返回值,若函式呼叫出錯,則返回值-1,若函式正常呼叫,則返回檔案指標當前的位置。

ferror()函式

呼叫形式:

ferror

(檔案指標);

功能:用於測試呼叫函式是否出錯。

若ferror()函式的返回值為0,則表示沒有出錯,返回非0,則表示出錯。每次呼叫乙個函式時,系統都會生成乙個新的ferror()函式值,因此呼叫函式之後必須通過ferror()函式檢測返回值。

clearerr()函式

呼叫形式:

claarerr

(檔案指標);

將檔案錯誤標識和檔案結束符置0.

clearerr(fp);
若呼叫乙個函式出錯,則其返回值為非0值,

通過呼叫clearerr()函式即可將該值置為0

基本知識點

1 程序和執行緒的關係 1 在有執行緒的作業系統裡面,程序是分配資源的基本單位,執行緒是排程的基本單位。2 1個程序可以擁有多個執行緒 3 執行緒同時也有一些自己的資源,包括 程式計數器,堆疊等 4 因為執行緒所擁有的資源比較少,因此進行排程的時候所消耗的資源就少。5 執行緒共享程序的 段,程序的一...

基本知識點

dram 動態隨機訪問儲存器 dynamic random access memory 隨機訪問的意思是,訪問任何乙個記憶體單元的速度和它的位置 位址 無關,讀寫位址0x00001和0xffff0所需要的事件是一樣的。rom 唯讀儲存器 read only memory 它的內容是預先寫入的,掉電也...

PHP基本知識點

1.http協議中幾個狀態碼的含義 503 500 401 200 301 302。http狀態碼 1 請求收到,繼續處理 2 操作成功收到,分析 接受 3 完成此請求必須進一步處理 4 請求包含乙個錯誤語法或不能完成 5 伺服器執行乙個完全有效請求失敗 500 伺服器產生內部錯誤 501 伺服器不...