什么是计算文本文件中行数的最佳条件?

时间:2017-03-27 18:36:20

标签: c++

我已经获得了以下代码,我试图计算输入文件中的行数,并且我尝试了几种不同的方法来实现它,但没有运气。

int checkData(string File)
{
string temp;
int linecount = 0;
ifstream input(File);
input.open(File);

while ()
    {   
        getline(input,temp);
        linecount++;
        temp.clear();
    }
return linecount;

}

到目前为止,我已经尝试过了:

while(!input.eof())
    {
     ...
    }

while(getline(input,temp).good())
    {
     ...
    }

第一个没有打破循环,我不太清楚为什么。 (我非常肯定)getline有一个内置的流缓冲区,因此每当我拉入一条线并将其丢回时它应自动读取网线,但没有骰子。对于第二个,循环根本不执行,这对我来说仍然没有意义(说第一行文件不是很好的输入?)。 我使用的测试文件是:

this is a test     this     Cake
this is a test     this     Cake
this is a test     this     Cake
this is a test     this     Cake

因此,当正确执行时,linecount应返回为4。在执行此操作之前,我已经检查过以确保文件正确打开。

output

1 个答案:

答案 0 :(得分:3)

int number_of_lines = 0;
string line;
ifstream myfile("textexample.txt");
while (std::getline(myfile, line))
    ++number_of_lines;

希望它有所帮助。