使用Getline()C ++从文件中读取信息

时间:2015-02-06 02:22:33

标签: c++ getline

所以我有一个包含格式化信息的文本文件,如下所示。

100
4,2
3
5,1

我正在尝试使用getline()函数读取每一行,然后确定该行是否有一个或两个数字。我的问题是,如何检查线路是否有两个数字?这将涉及检查逗号,但我不知道如何这样做。

由于

1 个答案:

答案 0 :(得分:0)

使用getlinefind,您可以轻松计算数字

getline将在文件的每一行上进行迭代

find将查找当前行中的昏迷数,如果添加1,则应该为您提供数字计数

这假定您的文件格式正确

#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    int i = 1;
    while ( getline (myfile,line) )
    {
      size_t numberCount = std::count(line.begin(), line.end(), ',') + 1;
      cout << "Line "<< i << " has " << numberCount << " numbers"<<endl;
      i++;
    }
    myfile.close();
  }
  else cout << "Unable to open file"; 

  return 0;
}