影音先锋男人资源av站_狠狠色综合激情丁香五月_爱爱爱爱看视频_在线播放免费人成视频在线观看_少妇人妻综合久久中文字幕_国产午夜无码精品免费看_久久久久久夜精品精品免费啦_男人女人午夜视频免费_日本xxxx裸体xxxx_丰满人妻熟妇乱又仑精品
電子科大論壇-非清水河畔
標題:
C/C++文件操作的簡單應(yīng)用
[打印本頁]
作者:
lefttime
時間:
2007-8-25 09:26
標題:
C/C++文件操作的簡單應(yīng)用
在C/C++編寫程序過程中,我們通常會遇到個問題, 就是輸入測試數(shù)據(jù)多時,用手動輸入效率不高,而且出錯后又得重新來過
特別在ACM/ICPC這類比賽中,我們應(yīng)盡量減少手動測試數(shù)據(jù)輸入的時間,這時就會用到文件的輸入輸出流:
來個簡單的例子,從文件
in.txt
中輸入兩個整數(shù),由小到大排序后輸出到
out.txt
中,用空格分開。在這里假設(shè)輸入文件和輸出文件都存在:
[C源程序]
#include <stdio.h>
/*
要使用文件輸入輸出流必須的頭文件
*/
int main()
{
FILE *in,*out;
int a,b;
in=fopen("in.txt","r"); /*以只讀方式打開in.txt文件*/
out=fopen("out.txt","w"); /*以只寫方式打開out.txt文件*/
while(fscanf(in,"%d%d",&a,&b)!=EOF) /*從in.txt文件中讀取a,b的值,直到文件結(jié)束為止*/
if(a<b)
fprintf(out,"%d %d\n",a,b); /*向out.txt文件輸出結(jié)果*/
else
fprintf(out,"%d %d\n",b,a);
fclose(in); /*在C語言中必須加這一步,關(guān)閉文件防止文件被其它程序調(diào)用*/
fclose(out);
return 0;
}
[C++源程序]
#include <fstream>
//
要使用文件輸入輸出流必須的頭文件
using namespace std;
ifstream inf("in.txt"); //
定義文件輸入流
inf
,并關(guān)聯(lián)到
in.txt
ofstream ouf("out.txt");
//
定義文件輸出流
ouf
,并關(guān)聯(lián)到
out.txt
int main()
{
int a, b;
inf>>a>>b;
//
從
inf
中輸入兩個整數(shù)
if(a<b)
ouf<<a<<' '<<b<<endl;
//
向
ouf
輸出結(jié)果。
else
ouf<<b<<' '<<a<<endl;
return 0;
}
上兩程序會得到同一結(jié)果:
如果
in.txt
的內(nèi)容為:
4
3
則
out.txt
的內(nèi)容為:
3
4
由此
可以看出,對文本文件的輸入輸出與標準輸入輸出從格式上講是一致的,只是需要定義一下文件輸入輸出流;C在定義時說明文件名后用戶還需手動打開和關(guān)閉文件,而C++只需說明文件名即可,文件的打開與關(guān)閉動作是
C++
自動完成的,用戶不必處理,這樣就不會出現(xiàn)忘記關(guān)閉文件而丟失數(shù)據(jù)的情況了。
看得出C++在這方面處理得讓程序員操作比較簡單,但在使用過程中,如果是對大數(shù)進行處理的話個人覺得用C效率會比較高,小范圍數(shù)據(jù)處理用C++比較方便
就看大家怎么用了
[
本帖最后由 lefttime 于 2007-8-25 09:29 編輯
]
作者:
iwxiaot
時間:
2007-8-25 09:31
嗯,不錯,不看的話,差不多忘了
歡迎光臨 電子科大論壇-非清水河畔 (http://www.hallmarkedu.com/)
Powered by Discuz! X3.4