Advertisement
madras

Untitled

May 20th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. void Schedule::loadFile(std::string fileName)
  2. {
  3.     int temp;
  4.     clear();
  5.  
  6.     try
  7.     {
  8.         std::ifstream file(fileName);
  9.         auto old = file.exceptions();
  10.         file.exceptions(std::ifstream::failbit | std::ifstream::badbit | std::ifstream::eofbit);
  11.         file.exceptions(old);
  12.         while(file.read(reinterpret_cast<char*>(&temp), sizeof(temp)))
  13.         {
  14.             file.exceptions(file.failbit | file.badbit | file.eofbit);
  15.             switch(temp)
  16.             {
  17.             case Direction::Type::D_FORWARD:
  18.                 file.read(reinterpret_cast<char*>(&temp), sizeof(temp));
  19.                 this->addForward(temp);
  20.                 break;
  21.  
  22.             case Direction::Type::D_EXIT:
  23.                 file.read(reinterpret_cast<char*>(&temp), sizeof(temp));
  24.                 this->addExit(temp);
  25.                 break;
  26.  
  27.             case Direction::Type::D_LEFT:
  28.                 this->addLeft();
  29.                 break;
  30.  
  31.             case Direction::Type::D_RIGHT:
  32.                 this->addRight();
  33.                 break;
  34.             }
  35.  
  36.             file.exceptions(old);
  37.         }
  38.     }
  39.     catch(std::ios_base::failure &fail)
  40.     {
  41. //      if (fail.code() == std::io_errc::
  42. //      clear();
  43.         std::cout << "Blad odczytu " << fileName << std::endl
  44.             << fail.what() << std::endl;
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement