fixes: 1. do not skip over first non-empty line; 2. skip over all empty lines

main
Manish 1 year ago
parent ff01cf3a3c
commit eebcddb472

@ -24,6 +24,7 @@ struct semicolon_is_space : std::ctype<char> {
return &rc[0];
};
};
class input {
public:
std::string s;
@ -33,9 +34,7 @@ public:
};
std::istream &operator>>(std::istream &in, input &i) {
std::getline(in, i.s, '\n'); // An inelegant hack to skip newline character
std::getline(in, i.s, ';');
in >> i.k;
in >> i.s >> i.k;
return in;
}
@ -128,10 +127,10 @@ int main(int argc, char *argv[]) {
std::vector<test_case> test_cases;
semicolon_is_space delimeter;
for (int i = 1; i < argc; i++) {
test_case t;
std::ifstream f(argv[i]);
f.imbue(std::locale(f.getloc(), new semicolon_is_space));
while (f.good()) {
test_case t;
f >> t;
if (t.i.s.length()) { // skip empty line/string inputs
std::cout << t;

Loading…
Cancel
Save