Advertisement
Guest User

YAMP2

a guest
Dec 3rd, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. void  check_state(ifstream& fin)
  2. {
  3.     char state = 'A';
  4.     char c;
  5.     while(1)
  6.     {
  7.         if(fin.get(c))
  8.         {
  9.             switch(state)
  10.             {
  11.             case 'A' :                  //строковые литералы
  12.                 {
  13.                     if(c=='\"')
  14.                     {
  15.                         state='B';
  16.                         break;
  17.                     }
  18.  
  19.                     if((c>='0') && (c<='9'))
  20.                     {
  21.                         state = 'C';
  22.                         break;
  23.                     }
  24.                 }
  25.             case 'B' :                  //
  26.                 {
  27.                     while (fin.get(c))
  28.                     {
  29.                         if (c=='\"')
  30.                         {
  31.                             fin.get(c);
  32.                             state = 'A';
  33.                             break;
  34.                         }
  35.                     }
  36.                     if(!(fin.get(c)))
  37.                         state = NULL;
  38.                     break;
  39.                 }
  40.             case 'C' :                 
  41.                 {
  42.                     int i = 0;
  43.                     char* line = new char[256];
  44.                     char temp = c;
  45.                     if (temp == 0)
  46.                     {
  47.                         if ((fin.get(c)) && (c == 'x'))
  48.                         {
  49.                             while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
  50.                             {
  51.                                 line[i] = c;
  52.                                 ++i;
  53.                             }
  54.                             {
  55.                                 //закинуть в обработку 16-ричных
  56.                             }
  57.                         }
  58.                         else
  59.                         {
  60.                             while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
  61.                             {
  62.                                 line[i] = c;
  63.                                 ++i;
  64.                                
  65.                             }
  66.                             //закинуть в функцию записи чисел
  67.                         }
  68.                     }
  69.                     else
  70.                         //найти буквы после(спецификаторы)
  71.                     {
  72.                         while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
  73.                             {
  74.                                 line[i] = c;
  75.                                 ++i;
  76.                                
  77.                             }
  78.                         //закинуть в функцию записи чисел
  79.                     }
  80.                 }
  81.             default:
  82.                 state=NULL;
  83.             }
  84.         }
  85.         else                    //вставить сюда закрытие файлов
  86.             return;
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement