我需要对输入文件中的行进行计数,但是我的代码无法正常工作:
#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)时,它总是使我的输出为空。不使用字符串,代码可以正常工作。这是什么问题?