![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Killer_13 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Здравствуйте.
Есть у меня огромная строка из нее нужно выбрать определенные слова, с этим вроде все в порядке. ![]() Но у меня идет циклом, так что выводится столько раз, сколько символов в строке около 2000 строк. Тоисть та информация что я выдираю из строки повторяется много раз. Нужно определить, что найден последний элемент в строке и прекратить писать в файл. например pos2=2005 , а длина строки 2015, и pos2 который на 2005 позиции последний искомый элемент, если это так, то нужно прекратить поиск в строке Нашел похожую тему, но че-т с getline не получилось: http://forum.vingrad.ru/topic-211976.html вот функция:
Спасибо. |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
используй break.... Больше ничего посоветовать не могу, так как текст слишком сумбурен и непонятен.
|
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Вот такая вот строка.
Модератор: сделал сообщение более читабельным Это сообщение отредактировал(а) bsa - 11.10.2010, 19:43 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Killer_13, я очень рад за тебя. А дальше что? Ну строка. Хорошо. очень похоже на XML.
Ты по-русски расскажи, что ты хочешь получить. |
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Да, был xml, теперь забил все в одну строку и нужно достать инфу из тэгов.
Wuebbelmann Juergen и так д... ![]() мой код получает такое только повторяет все 2000 с чем то раз, а мне не нужно повторения, поэтому хочу узнать как смотреть конц строки. |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
У вас цикл бестолковый. Делайте
Добавлено @ 10:27 Вместо -1 более кошерно использовать std::string::npos. Это сообщение отредактировал(а) djamshud - 12.10.2010, 10:53 -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Чем не устраивают готовые НОРМАЛЬНЫЕ xml парсеры (имя коим легион)?
|
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Дык ненаю я нормальных парсеров, просто задачку нуно написать.
djamshud Пасиб, попробую сегодня. |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Killer_13, http://xmlsoft.org/
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Я бы посоветовал: http://code.google.com/p/pugixml/
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Хммм, опять чо-то странное..
Чуток переделал функцию. Вот так
Но здесь происходит зацыкливание! Не понямаю почему!!! Протестировал дебаггером раза три, так вот доходит строка до конца. pos2=-1 а потом цыкл проверяет и пускает это значение дальше. Не могу понять?? Не должен же! вместо string::npos пробовал ставить -1 результат такой же. Уважаемые, мне не нужно серьезно вникать в с++ пока, мне нужно написать 1 задачу. Спасибо. Это сообщение отредактировал(а) Killer_13 - 12.10.2010, 22:14 |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
В условии цикла || на && замените.
|
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Йомайо, так и хотел попробовать, но почему то руки не дотянулись, в голове произошла мысль, что должно работать и с "или" почему же не работало с или, можете обьяснить в двух словах. Должно было работать, тоисть условие срабатывало, если хотя бы одно из значений "-1" = почему не срабатывало?
Спасибо! |
|||
|
||||
Killer_13 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Вах, откуда на таком хорошем форуме спам полез, и не стыдно господам спамерам... :(
|
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Killer_13, это я дурак. Сначала поставил &&, потом подумал и исправил на ||, решив, что лучше проверить сразу обе позиции на -1. && говорит, что достаточно найти один конец: true && false = false.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |