fork download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <string>
  4.  
  5. void f(const char* p)
  6. {
  7. std::istringstream iss(p);
  8. int num;
  9. if (iss >> num)
  10. std::cout << num << " (an int)\n";
  11. else
  12. {
  13. iss.clear(); // recover from parsing int failure above
  14. std::string word;
  15. if (iss >> word)
  16. std::cout << word << " (a string)\n";
  17. }
  18. }
  19.  
  20. int main()
  21. {
  22. f("five");
  23. f("35");
  24. }
Success #stdin #stdout 0s 3276KB
stdin
Standard input is empty
stdout
five (a string)
35 (an int)