c++中怎么读取.txt中的内容呢

kico2004 2008-05-01 05:52:12
我想读取a.txt中的内容,然后统计每个数字出现的次数;
a.txt中内容为
34 35
35 69
67 69
我想得到34出现一次,35出现2次,69出现3次,67出现1次这样的结果
我应该怎么实现呢,请教
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cricketol 2008-05-03
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;


void main(int count,char* paths[])
{
fstream fin(paths[1],ios_base::binary|ios_base::in);
fstream fout(paths[2],ios_base::binary|ios_base::out);
int len = 8;
char *buf = NULL;
buf = (char *)malloc(len);
memset(buf,0,sizeof(buf));

while(!fin.eof())
{
fin.read(buf,len);
fout.write(buf,len);
}
fin.close();
fout.close();
free(buf);
}

le23997 2008-05-02
  • 打赏
  • 举报
回复
1. 读取文档,把数字加入容器,可以考虑使用STL的LIST
2. 读取LIST的第一个数字,存入变量number
3. 遍历LIST,比较是否和number相同,如果相同,记数器加一,并从list中删除
4. 遍历结束,(number,记数器)存入模板类(typedef CArray(xxx,xxx) CNumberCount xxx为结构(number,记数器))
5. 跳回1
mienfong 2008-05-02
  • 打赏
  • 举报
回复
解決的方向是把讀進來的值存起來,下一個讀進來的值先和之前的值作判斷,相等,則計數加一;若不相等,再把這個值存起來。
mienfong 2008-05-02
  • 打赏
  • 举报
回复
fPtr = fopen("a.txt","r"); 才對。
mienfong 2008-05-02
  • 打赏
  • 举报
回复


FILE *fPtr;
fPtr = fopen(a.txt,"r");//開啟檔案a.txt

while(!feof(fPtr))
{
fscanf(fPtr,"%d %d\n",&Num1,&Num2);//讀取資料
//可在這裡加你要做的判斷
}
fclose(fPtr);



讀取檔案的方式寫給你,如何找出出現多少次的判斷,自己寫吧,那是老師給你的作業~
自己要用心,不然學甚麼程式語言都不會的。


7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧