如何计算输入行数?

时间:2018-10-05 11:26:51

标签: c++

我需要对输入文件中的行进行计数,但是我的代码无法正常工作:

#include <iostream>
#include <fstream>

using namespace std;

int main() {

    unsigned int number, daliklis;
    unsigned long long factorial = 1;

    int lines = 0;
    std::string str;

    std::ifstream input("ardalo.in");
    std::ofstream output("ardalo.out");

    while(std::getline(input, str)) lines++;
    if(lines > 100) {
        cout << "Too many lines.";
        return 0;
    }

    while(input >> number >> daliklis) {
        for(int i = 1; i <= number; i++) factorial *= i;
        if(number * daliklis == factorial) output << "YES" << endl;
        else output << "NO" << endl;
    }

    return 0;
}

这是我的输入文件:

5 24
5 16
10000 65537

问题是当我使用getline(input,str)时,它总是使我的输出为空。不使用字符串,代码可以正常工作。这是什么问题?

0 个答案:

没有答案