C檔案指標小例

2021-08-08 19:15:32 字數 1999 閱讀 7370

使用檔案的方式共有12種,下面給出了它們的符號和意義。 

檔案使用方式        意 義

「rt」      唯讀開啟乙個文字檔案,只允許讀資料 

「wt」      只寫開啟或建立乙個文字檔案,只允許寫資料

「at」      追加開啟乙個文字檔案,並在檔案末尾寫資料

「rb」      唯讀開啟乙個二進位制檔案,只允許讀資料

「wb」       只寫開啟或建立乙個二進位制檔案,只允許寫資料

「ab」       追加開啟乙個二進位制檔案,並在檔案末尾寫資料

「rt+」      讀寫開啟乙個文字檔案,允許讀和寫

「wt+」      讀寫開啟或建立乙個文字檔案,允許讀寫

「at+」      讀寫開啟乙個文字檔案,允許讀,或在檔案末追加數 據

「rb+」      讀寫開啟乙個二進位制檔案,允許讀和寫 

「wb+」      讀寫開啟或建立乙個二進位制檔案,允許讀和寫

「ab+」      讀寫開啟乙個二進位制檔案,允許讀,或在檔案末追加資料

簡單樣例**:

#include #includeint main()

while (ch != '0')//遇到0,回車結束

//關閉

fclose(fp);//用一次就要關一次!連著下面用會出錯的

printf("檔案已關閉\n");

//順序讀

if ((fp = fopen("test.txt", "r+")) == null)//fopen("test","r+")返回值是指向檔案的指標

while (!feof(fp))

//關閉

fclose(fp);

printf("檔案已關閉\n");

return 0;

}

feof(file stream )檔案指標到達檔案末尾

!feof(fp) 表示沒有到達末尾

在c語言中提供了多種檔案讀寫的函式: 

·字元讀寫函式 :fgetc和fputc

·字串讀寫函式:fgets和fputs

·資料塊讀寫函式:freed和fwrite

·格式化讀寫函式:fscanf和fprinf

字元讀寫函式fgetc和fputc

一、讀字元函式fgetc

fgetc函式的功能是從指定的檔案中讀乙個字元,函式呼叫的形式為: 字元變數=fgetc(檔案指標); 例如:ch=fgetc(fp);其意義是從開啟的檔案fp中讀取乙個字元並送入ch中。

二、寫字元函式fputc

fputc函式的功能是把乙個字元寫入指定的檔案中,函式呼叫的 形式為: fputc(字元量,檔案指標); 其中,待寫入的字元量可以是字元常量或變數,例如:fputc('a',fp);其意義是把字元a寫入fp所指向的檔案中。

字串讀寫函式fgets和fputs

一、讀字串函式fgets

函式的功能是從指定的檔案中讀乙個字串到字元陣列中,函式呼叫的形式為: fgets(字元陣列名,n,檔案指標); 其中的n是乙個正整數。表示從檔案中讀出的字串不超過 n-1個字元。在讀入的最後乙個字元後加上串結束標誌' '。例如:fgets(str,n,fp);的意義是從fp所指的檔案中讀出n-1個字元送入字元陣列str中。

二、寫字串函式fputs

fputs函式的功能是向指定的檔案寫入乙個字串,其呼叫形式為: fputs(字串,檔案指標) 其中字串可以是字串常量,也可以是字元陣列名, 或指標 變數,例如:fputs(「abcd「,fp);其意義是把字串「abcd」寫入fp所指的檔案之中。

以上大部分說明來自

#includevoid readtxt()

while (!feof(fp))

for (j = 0; j < i; j++) printf("%d ", a[j]);//從陣列輸出。

fclose(fp);

}void main()

函式指標小例

使用函式指標可以靈活呼叫不同的函式。使用函式指標必須完成以下步驟 1.獲取函式的位址 2.宣告乙個函式指標 3.使用函式指標呼叫函式 例 include stdafx.h int estimate1 int x,int y int estimate2 int x,int y int callesti...

C 反射小例

using system using system.collections.generic using system.linq using system.text using system.reflection using com.zhao.des.vectorclass using com.zha...

libSVM分類小例C

from 使用libsvm求解分類問題的c 小例 1.libsvm簡介 訓練模型的結構體struct svm problem 儲存參加計算的所有樣本int l 記錄樣本總數 double y 指向樣本類別的組數 new double prob.l struct svm node x 資料樣本 new...