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

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

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

[軟件] C/C++文件操作的簡單應用

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2007-8-25 09:26:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    在C/C++編寫程序過程中,我們通常會遇到個問題, 就是輸入測試數(shù)據(jù)多時,用手動輸入效率不高,而且出錯后又得重新來過 特別在ACM/ICPC這類比賽中,我們應盡量減少手動測試數(shù)據(jù)輸入的時間,這時就會用到文件的輸入輸出流:
    來個簡單的例子,從文件in.txt中輸入兩個整數(shù),由小到大排序后輸出到out.txt中,用空格分開。在這里假設輸入文件和輸出文件都存在:


[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的值,直到文件結束為止*/
    if(a<b)
      fprintf(out,"%d %d\n",a,b);  /*向out.txt文件輸出結果*/
    else
      fprintf(out,"%d %d\n",b,a);
  fclose(in);    /*在C語言中必須加這一步,關閉文件防止文件被其它程序調用*/
  fclose(out);
  return 0;
}



[C++源程序]
#include <fstream> //要使用文件輸入輸出流必須的頭文件
using namespace std;

ifstream inf("in.txt"); //定義文件輸入流inf,并關聯(lián)到in.txt
ofstream ouf("out.txt"); //定義文件輸出流ouf,并關聯(lián)到out.txt
int main()
{
  int a, b;
  inf>>a>>b; //inf中輸入兩個整數(shù)
  if(a<b)
    ouf<<a<<' '<<b<<endl; //ouf輸出結果。
  else
    ouf<<b<<' '<<a<<endl;
  return 0;
}



上兩程序會得到同一結果:

如果in.txt的內容為:
4 3

out.txt的內容為:
3 4

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

[ 本帖最后由 lefttime 于 2007-8-25 09:29 編輯 ]
2#
發(fā)表于 2007-8-25 09:31:55 | 只看該作者
嗯,不錯,不看的話,差不多忘了
您需要登錄后才可以回帖 登錄 | 注冊(開放注冊)

本版積分規(guī)則

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

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

GMT+8, 2025-11-19 08:25 , Processed in 0.682874 second(s), 14 queries .

Powered by 校園招聘信息

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

快速回復 返回頂部 返回列表