fork(1) download
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <string>
  5. #include <vector>
  6.  
  7. void readFromFile(std::istream &in)
  8. {
  9. if (!in.good()) {
  10. std::cerr << "ERROR!" << std::endl;
  11. }
  12. std::string buffer;
  13. std::vector<int> quality;
  14. while (std::getline(in, buffer)) {
  15. if (buffer.size() >= 2 && buffer.compare(0, 2, "ID") == 0) {
  16. std::cout << buffer << std::endl;
  17. quality.clear(); // reset quality vector
  18. } else {
  19. // read numbers
  20. std::istringstream in(buffer); int qual;
  21. while (in >> qual) {
  22. quality.push_back(qual);
  23. std::cout << quality.back() << std::endl;
  24. }
  25. }
  26. }
  27. }
  28.  
  29. int main(void)
  30. {
  31. #if 0 // in OP
  32. { std::ifstream fIn("s2.txt");
  33. readFromFile(fIn);
  34. } // fIn goes out of scope -> file is closed
  35. #else // instead
  36. readFromFile(std::cin);
  37. #endif // 0
  38. return 0;
  39. }
  40.  
Success #stdin #stdout 0s 4252KB
stdin
ID 1 (string) 
22 30 30 4 2 4 5 7 5 3
22 30 30 4 2 4 5 7 5 3
ID 2
30 4 2 1 2
stdout
ID 1 (string) 
22
30
30
4
2
4
5
7
5
3
22
30
30
4
2
4
5
7
5
3
ID 2
30
4
2
1
2