daily pastebin goal
91%
SHARE
TWEET

Safe number input using std::cin

mvaganov Aug 24th, 2012 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int getNumber(char * prompt)
  2. {
  3.         int num;
  4.         do
  5.         {
  6.                 if(std::cin.fail())
  7.                 {
  8.                         std::cin.clear();
  9.                         //std::cin.ignore(1024, '\n'); // 1024 is arbitrary :-/
  10.                         while(std::cin.get() != '\n'); // replaced above
  11.                 }
  12.                 if(std::cin.good())
  13.                 {
  14.                         std::cout << prompt << std::endl;
  15.                         std::cin >> num;
  16.                 }
  17.         }
  18.         while(std::cin.fail());
  19.         return num;
  20. }
RAW Paste Data
Top