fork(1) download
  1. #include <iostream>
  2. #include <sstream>
  3.  
  4. int main()
  5. {
  6. for (auto s : { "3 4 -", "3 4" } )
  7. {
  8. std::istringstream stream(s);
  9. stream.exceptions( std::ios::failbit | std::ios::badbit );
  10. int n;
  11. try
  12. {
  13. while (stream) { stream >> n; std::cout << "n " << n << '\n'; }
  14. }
  15. catch (...)
  16. {
  17. std::cout << "caught, fail " << stream.fail()
  18. << ", eof " << stream.eof()
  19. << ", bad " << stream.bad() << "\n";
  20. }
  21. }
  22. }
Success #stdin #stdout 0s 3232KB
stdin
Standard input is empty
stdout
n 3
n 4
caught, fail 1, eof 1, bad 0
n 3
n 4
caught, fail 1, eof 1, bad 0