我要用c++做一个处理文本文件中数据的程序,可以自动对所有的数据进行统计,要用什么方法进行?
展开全部
用文件流打开,然后按行读取,以空格为标志符切割字符串,把得到的字符串转换为int然后写入到一个容器进行操作。
#include<iostream>
#include<fstream>
#include<sstream>
#include<vector>
using namespace std;
// 打开输入文件
ifstream in("sample.log");
if (!in)
{
cerr<< "error:unable to open input file"
<<in<<endl;
}
string line;
//按行读取直到文件结束
while (getline(in,line))
{
vector<string> temp,temp2;
size_t pos = 1,pos2 = 0;
// 字符串分割写入到向量容器temp
while (pos >0)
{ pos = line.find(" ",pos);
temp.push_back(line.substr(pos2,pos-pos2));
pos++;
pos2 = pos;
}
}
in.close();
int n;
stringstream ss;
//字符串转换然后保存到向量容易temp2
for (int j = 0; j < temp.size(); j++)
{
ss<<temp[i]; //string转换成int
ss>>n;
temp2.push_back(n);
ss.clear();
}
//随手写的,自己拼凑着用
#include<iostream>
#include<fstream>
#include<sstream>
#include<vector>
using namespace std;
// 打开输入文件
ifstream in("sample.log");
if (!in)
{
cerr<< "error:unable to open input file"
<<in<<endl;
}
string line;
//按行读取直到文件结束
while (getline(in,line))
{
vector<string> temp,temp2;
size_t pos = 1,pos2 = 0;
// 字符串分割写入到向量容器temp
while (pos >0)
{ pos = line.find(" ",pos);
temp.push_back(line.substr(pos2,pos-pos2));
pos++;
pos2 = pos;
}
}
in.close();
int n;
stringstream ss;
//字符串转换然后保存到向量容易temp2
for (int j = 0; j < temp.size(); j++)
{
ss<<temp[i]; //string转换成int
ss>>n;
temp2.push_back(n);
ss.clear();
}
//随手写的,自己拼凑着用
追问
谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询