文章作者:姜南(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;
}