影音先锋男人资源av站_狠狠色综合激情丁香五月_爱爱爱爱看视频_在线播放免费人成视频在线观看_少妇人妻综合久久中文字幕_国产午夜无码精品免费看_久久久久久夜精品精品免费啦_男人女人午夜视频免费_日本xxxx裸体xxxx_丰满人妻熟妇乱又仑精品

電子科大論壇-非清水河畔

 找回密碼
 注冊(開放注冊)
查看: 8604|回復(fù): 1
打印 上一主題 下一主題

[軟件] C/C++文件操作的簡單應(yīng)用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2007-8-25 09:26:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    在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

由此可以看出,對文本文件的輸入輸出與標(biāo)準(zhǔn)輸入輸出從格式上講是一致的,只是需要定義一下文件輸入輸出流;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 編輯 ]
2#
發(fā)表于 2007-8-25 09:31:55 | 只看該作者
嗯,不錯,不看的話,差不多忘了
您需要登錄后才可以回帖 登錄 | 注冊(開放注冊)

本版積分規(guī)則

手機訪問本頁請
掃描左邊二維碼
本網(wǎng)站聲明
本網(wǎng)站所有內(nèi)容為網(wǎng)友上傳,若存在版權(quán)問題或是相關(guān)責(zé)任請聯(lián)系站長!
站長電話:0898-66661599    站長聯(lián)系QQ:12726567   
站長微信:hainanok
請掃描右邊二維碼
www.myujob.com

小黑屋|手機版|Archiver|電子科大論壇-非清水河畔 ( 瓊ICP備10001196號-2 )

GMT+8, 2025-11-7 21:35 , Processed in 0.098185 second(s), 14 queries .

Powered by 校園招聘信息

© 2001-2020 電子科大論壇-非清水河畔校園招聘

快速回復(fù) 返回頂部 返回列表