fork download
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4.  
  5. int main() {
  6. int var = -1;
  7. std::istringstream stream("3.5");
  8. if (stream >> var) // at this point, the input stream allows "3" to be parsed
  9. {
  10. std::cout << "Reading succeeded, var = " << var << "\n";
  11. }
  12. else
  13. {
  14. std::cout << "Reading didn't succeed, var = " << var << "\n";
  15. }
  16. if (stream >> var) // at this point, the input stream tries to fit ".5" into var, which fails
  17. {
  18. std::cout << "Reading succeeded, var = " << var << "\n";
  19. }
  20. else
  21. {
  22. std::cout << "Reading didn't succeed, var = " << var << "\n";
  23. }
  24. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Reading succeeded, var = 3
Reading didn't succeed, var = 0