一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學(xué)論壇

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2007-8-25 09:26:57 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
    在C/C++編寫程序過程中,我們通常會(huì)遇到個(gè)問題, 就是輸入測(cè)試數(shù)據(jù)多時(shí),用手動(dòng)輸入效率不高,而且出錯(cuò)后又得重新來過 特別在ACM/ICPC這類比賽中,我們應(yīng)盡量減少手動(dòng)測(cè)試數(shù)據(jù)輸入的時(shí)間,這時(shí)就會(huì)用到文件的輸入輸出流:
    來個(gè)簡(jiǎn)單的例子,從文件in.txt中輸入兩個(gè)整數(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中輸入兩個(gè)整數(shù)
  if(a<b)
    ouf<<a<<' '<<b<<endl; //ouf輸出結(jié)果。
  else
    ouf<<b<<' '<<a<<endl;
  return 0;
}



上兩程序會(huì)得到同一結(jié)果:

如果in.txt的內(nèi)容為:
4 3

out.txt的內(nèi)容為:
3 4

由此可以看出,對(duì)文本文件的輸入輸出與標(biāo)準(zhǔn)輸入輸出從格式上講是一致的,只是需要定義一下文件輸入輸出流;C在定義時(shí)說明文件名后用戶還需手動(dòng)打開和關(guān)閉文件,而C++只需說明文件名即可,文件的打開與關(guān)閉動(dòng)作是C++自動(dòng)完成的,用戶不必處理,這樣就不會(huì)出現(xiàn)忘記關(guān)閉文件而丟失數(shù)據(jù)的情況了。
看得出C++在這方面處理得讓程序員操作比較簡(jiǎn)單,但在使用過程中,如果是對(duì)大數(shù)進(jìn)行處理的話個(gè)人覺得用C效率會(huì)比較高,小范圍數(shù)據(jù)處理用C++比較方便 就看大家怎么用了

[ 本帖最后由 lefttime 于 2007-8-25 09:29 編輯 ]
2#
發(fā)表于 2007-8-25 09:31:55 | 只看該作者
嗯,不錯(cuò),不看的話,差不多忘了

本版積分規(guī)則

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

小黑屋|手機(jī)版|Archiver|重慶醫(yī)科大學(xué)論壇 ( 瓊ICP備10001196號(hào)-2 )

GMT+8, 2025-11-19 06:22 , Processed in 0.249445 second(s), 14 queries .

Powered by 校園招聘信息

© 2001-2020 重慶醫(yī)科大學(xué)論壇校園招聘

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