所以我有一个包含格式化信息的文本文件,如下所示。
100
4,2
3
5,1
我正在尝试使用getline()
函数读取每一行,然后确定该行是否有一个或两个数字。我的问题是,如何检查线路是否有两个数字?这将涉及检查逗号,但我不知道如何这样做。
由于
答案 0 :(得分:0)
使用getline
和find
,您可以轻松计算数字
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;
}