我要用c++做一个处理文本文件中数据的程序,可以自动对所有的数据进行统计,要用什么方法进行?

数据格式如下:456 485 485 4554 1154 ....... 4455

第1个回答  2014-05-30
用文件流打开,然后按行读取,以空格为标志符切割字符串,把得到的字符串转换为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();
}
//随手写的,自己拼凑着用追问

谢谢

本回答被提问者采纳

【C++】如何编写一个程序,统计文本文件中的字符数?
include include using namespace std;int main(){ fstream f("test.txt",ios::in);char c;int n=0;while(f.get(c))n++;cout< 追问:你好,我得到的结果一直是0 ,请问一下那个test文件的位置是有什么需要么?追答:和源文件同目录,或者你写全路径 追问:好的,谢谢你 追答:上面那方法...

关于C++处理文本汉字统计及字频的程序
略加修改,使用STL的map容器 G++测试通过 include<iostream> include<fstream> include <string> include include <iterator> using namespace std;int main (){ ifstream is("input.txt");char s[5000];char c;int i = 0;int iChi=0;while ( (c = is.get()) != EOF)s[i++] = c;...

C++ 编程统计一个文本文件中字符的个数
{ ifstream fin(argv[1]);if (!fin) { cout << "Can't open file - " << argv[1]<< "\\nUseage : countch filename" << endl;return 1;} string d;int count = 0;while ( getline(fin, d) ) \/\/以行为单位读入文件 count += d.size(); \/\/累计字符数 cout << "\\n Numb...

用c++编程解决这个问题 急! 实现txt文件操作程序 基本功能 1.选择文...
include <iostream>#include <fstream>#include <vector>#include <string>using namespace std ;int m1 = 1;\/\/这两个参数用来控制用户对文件的操作功能的选择int m2 = 1;int main () {\/*检索文件目录,查找出目录内所有txt文件,并显示文件名*\/system("DIR\/B\/AA *.txt > my.lis"); ...

怎样用c++代码统计一个txt文件中各种字符出现的次数!请给代码!_百度知 ...
用一个map<char, int>就可以了。用getline可以 一次读取一行保存在一个string里面,然后遍历string,往map里面填就可以了。ifstream in("a.txt", ios::in);string str;map<char, int> words;while(getline(in, str)){ for(int i = 0; i != str.size(); ++i) { if(words.en...

C++如何统计文件夹下文件个数
1.log 文件这个比较好:dir \/b | find \/v \/c ":" > 1.log===扩展:包含子目录:C++代码tree \/F | find \/c "." \/\/ 带点的文件 tree \/F | find \/v \/c "\/" \/\/ \/是文件命名时禁止使用的,统计全部文件 Linux 下:C++代码# ls -l * |grep "^-"|wc -l \/\/ to count files # ls -l ...

用C++编写一个程序,统计字母个数。??
思路:从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较。如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数,具体代码设计如下:函数应用 1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11’,'aa’...

c++怎么做数据分析
c++怎么做数据分析要用Bloom filter\/Hash\/bit-map\/堆\/数据库或倒排索引\/trie树。所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。我们可以采用巧妙的算法搭配合适的数据结构,如...

编写程序,统计一个文本文件data.txt中数字字符的个数...
include <stdio.h> include <ctype.h> int main(){ int stat[10]={0};int c;FILE *data=fopen("data.txt","r");if(data){ while(!feof(data)){ if(isdigit(c=fgetc(data)))stat[c-'0']++;} for(c=0;c<10;c++)printf("%d出现了%d次。\\n",c,stat[c]);fclose(data);} ...

用C++编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写 ...
using namespace std;int main(){ vector<string> str;string s;ifstream fin("D:\\\\data.txt"); \/\/data.txt 可换成需要的路径+文件名 while( getline(fin,s) ){ \/\/把读入的每行数据放入STR容器内.str.push_back(s);} for(vector<string>::iterator iter=str.begin();iter!=str....

相似回答