读取文件,提取数字,求总和
文件内容格式
第 0 组个数:9, Time: 0.037400
第 1 组个数:585, Time: 0.430600
第 2 组个数:27, Time: 0.023400
目标
0.037400 + 0.430600 + 0.023400 = ?
代码
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
double dSum = 0;
double dNum = 0;
string strLineText;
int nLineCount = 0;
ifstream fp("OnlyPL_Result_2KeyQuery.txt");
if (!fp)
{
cerr << "OPEN ERROR" << endl;
return 1;
}
//读取文本
while (getline(fp,strLineText))
{
nLineCount++;
//读取文本
//cout << strLineText << endl;
//找到冒号
int nPosColon = strLineText.rfind(':');
//cout<<strLineText.length()<<endl;
//找到数字
string strNumText = strLineText.substr(nPosColon+2);
//cout<<numText<<endl;
dNum = atof(const_cast<const char *>(strNumText.c_str()));
dSum += dNum;
//cout<<dSum<<endl;
}
fp.close();
cout<<"总的行数"<<nLineCount<<endl;
cout<<dSum<<endl;
system("pause");
return 0;
}