Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void check_state(ifstream& fin)
- {
- char state = 'A';
- char c;
- while(1)
- {
- if(fin.get(c))
- {
- switch(state)
- {
- case 'A' : //строковые литералы
- {
- if(c=='\"')
- {
- state='B';
- break;
- }
- if((c>='0') && (c<='9'))
- {
- state = 'C';
- break;
- }
- }
- case 'B' : //
- {
- while (fin.get(c))
- {
- if (c=='\"')
- {
- fin.get(c);
- state = 'A';
- break;
- }
- }
- if(!(fin.get(c)))
- state = NULL;
- break;
- }
- case 'C' :
- {
- int i = 0;
- char* line = new char[256];
- char temp = c;
- if (temp == 0)
- {
- if ((fin.get(c)) && (c == 'x'))
- {
- while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
- {
- line[i] = c;
- ++i;
- }
- {
- //закинуть в обработку 16-ричных
- }
- }
- else
- {
- while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
- {
- line[i] = c;
- ++i;
- }
- //закинуть в функцию записи чисел
- }
- }
- else
- //найти буквы после(спецификаторы)
- {
- while ((fin.get(c)) && (i < 257) && (c!=' ') && (c!= '\n'))
- {
- line[i] = c;
- ++i;
- }
- //закинуть в функцию записи чисел
- }
- }
- default:
- state=NULL;
- }
- }
- else //вставить сюда закрытие файлов
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement