Форум программистов, компьютерный форум CyberForum.ru

Простой парсер - как перебрать варианты строки - C++

Восстановить пароль Регистрация
 
bodya_men
Заблокирован
26.07.2014, 19:16     Простой парсер - как перебрать варианты строки #1
Всем привет!Опыт программирования на си++ всего месяц-c# около 4 а делфи один год.Решил их кинуть(c# и делфи) и писать все на си++.Если что я 12 летний школьник поэтому обьясните попонятней.VCL знаю неплохо-про инклуды и не говорите-давайте сразу код.Ну хватит тут анкету писать, вот сам и впопрос.Я пишу простенький парсер,не знаю как перебрать варианты строки.Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <vcl.h>
#include <iostream.h>
String parsefile(String  fnametoparse){
     TFileStream * sf = new TFileStream(fnametoparse,fmOpenRead);
     TReader * r = new TReader(sf,sf->Size);
     TStrings * srcstring;
 cout << "Parser32.Parsing lines...";
 while(fEof){
 srcstring->Add( r->ReadString());
 }
 switch(srcstring->Strings[1]){
 case "TextMessage.Show":
  cout << "Find messagebox.Writing...";
  break;
 default:
 cout << "This method has been not found!";
 break;
   }
}
и еще вопросик-если не известно количество строк-как можно проверить все строки сразу.Чтото подсказует что без for(бла бла) не обойтись
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2014, 19:16     Простой парсер - как перебрать варианты строки
Посмотрите здесь:

C++ Все возможные варианты перестановки символов строки
Варианты как разложить 5-значное число на цифры C++
C++ как перебрать числа?
работа с классами(как перебрать все объекты класса) C++
C++ парсер строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
26.07.2014, 19:20     Простой парсер - как перебрать варианты строки #2
Цитата Сообщение от bodya_men Посмотреть сообщение
C++
1
TStrings * srcstring;
память кто будет выделять?

Добавлено через 1 минуту
Цитата Сообщение от bodya_men Посмотреть сообщение
C++
1
case "TextMessage.Show":
switch не работает со строками
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
26.07.2014, 19:24     Простой парсер - как перебрать варианты строки #3
Цитата Сообщение от bodya_men Посмотреть сообщение
как можно проверить все строки сразу
Цитата Сообщение от bodya_men Посмотреть сообщение
без for(бла бла) не обойтись
Вроде так.
bodya_men
Заблокирован
26.07.2014, 19:38  [ТС]     Простой парсер - как перебрать варианты строки #4
Спс, но как тогда сделать все же построчное распознавание?Может через цикл?

Добавлено через 54 секунды
сори, new забыл, просто это подключаемый cpp модуль.
Renji
1535 / 983 / 240
Регистрация: 05.06.2014
Сообщений: 2,963
27.07.2014, 01:34     Простой парсер - как перебрать варианты строки #5
Спс, но как тогда сделать все же построчное распознавание?Может через цикл?
Ну, в порядке выпендрежа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
 
int main()
{
    const std::vector<std::string>list{"zero","one","two","three"};
    switch(std::find(list.begin(),list.end(),"three")-list.begin())
    {
    case 0:cout<<"zero"<<endl;break;
    case 1:cout<<"one"<<endl;break;
    case 2:cout<<"two"<<endl;break;
    case 3:cout<<"three"<<endl;break;
    }
    return 0;
}
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
27.07.2014, 03:15     Простой парсер - как перебрать варианты строки #6
Switch очень хорошо работает с enum. Вот небольшой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum Test {
TextMessage, TextMessage2, TextMessage3
};
 
main(void)
{
Test lol;
lol = TextMessage;
switch(lol) {
case TextMessage: cout << "123" << endl; 
break;
case TextMessage2: cout << "1234" << endl;
break;
//и так далее
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 15:01     Простой парсер - как перебрать варианты строки
Еще ссылки по теме:

C++ как перебрать поля структуры ?
Простой ввод строки с пробелами через string C++
Простой парсер C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
bodya_men
Заблокирован
13.08.2014, 15:01  [ТС]     Простой парсер - как перебрать варианты строки #7
спс, щас мне не до парсеров.Я на кодеблоксе.
Yandex
Объявления
13.08.2014, 15:01     Простой парсер - как перебрать варианты строки
Ответ Создать тему
Опции темы

Текущее время: 16:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru