1. 程式人生 > >C語言 使用檔案輸入/輸出資料

C語言 使用檔案輸入/輸出資料

文章作者:姜南(Slyar) 文章來源:Slyar Home (www.slyar.com) 轉載請註明,謝謝合作。

幫數學系出C語言測試題,評測用到了Cena,但是Cena需要使用檔案輸入/輸出,而他們不會,所以我就寫了一份說明給他們,順便發到部落格上...

C語言的檔案操作引數很多,我就不一一列舉了,我只把做題時要用到的幾個函式用法說一下。

首先我們需要定義檔案指標,為了方便我們不妨定義2個,一個fp1用作輸入檔案指標,另一個fp2用作輸出檔案指標。

FILE *fp1, *fp2;


接下來我們使用fopen()函式以只讀方式r(read)開啟輸入檔案slyar.in

fp1 = fopen("slyar.in","r");


然後使用fopen()函式以寫入方式w(write)開啟輸出檔案slyar.out

fp2 = fopen("slyar.out","w");


接下來的事情就是將"從螢幕讀入資料"改為"從檔案讀入資料",這一步只需要將程式碼中所有的"scanf"改為"fscanf",然後在引數列表的第一位加上輸入檔案指標fp1,這樣就可以從輸入檔案中讀取內容了。

fscanf(fp1, "%d", &temp);


同理,將"將資料輸出到螢幕"改為"將資料輸出到檔案"也是將程式碼中所有的"printf"改為"fprintf",然後在引數列表的第一位加上輸出檔案指標fp2,這樣就可以將資料寫入到輸出檔案了。

fprintf(fp2, "%d", temp);


最後一步,使用fclose()函式關閉輸入檔案和輸出檔案。

fclose(fp1);
fclose(fp2);


行了,大家是不是已經學會如何簡單地從檔案輸入和輸出資料了?

附加一個程式碼模版:

#include <stdio.h>
 
int main()
{
	FILE *fp1, *fp2;
	fp1 = fopen("slyar.in","r");
	fp2 = fopen("slyar.out","w");
 
	/* 中間按原樣寫程式碼,把scanf和printf改為檔案操作即可 */
 
	fclose(fp1);
	fclose(fp2);
	return 0;
}