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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.76
amazingsoul
0 / 0 / 0
Регистрация: 28.07.2009
Сообщений: 37
#1

Функция strstr - C++

01.09.2009, 19:34. Просмотров 6620. Ответов 8
Метки нет (Все метки)

Здравствуйте.
Объясните новичку почему функция strstr срабатывает всего один раз?
Моя программа получает из вне данные , которые затем по истечении таймера анализируются.При первой посылке данных и соответственно анализе программа отрабатывает нормально,но если данные меняются(приходит p11) программа отрабатывает как в прошлый раз.
Код:
C++
1
2
3
4
5
6
7
8
if(strstr(buffer,"p10")!=0)
{
memset(buffer,0,sizeof(buffer));
Form2->Visible=False;Form3->Caption="ВНИМАНИЕ!!!";
  Form3->Label1->Caption="ВНИМАНИЕ!!!";
Form3->ShowModal();
Form3->Timer1->Enabled=1;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
01.09.2009, 20:39     Функция strstr #2
amazingsoul, а сколько раз должна работать?

Добавлено через 1 минуту
if(strstr(buffer,"p10")!=0)
C++
1
while(strstr(buffer,"p10")!=0)
IF это только один раз а while означает,если вдруг произайдет то что в скобках, то перейти к следующему оператору...если нет то перейти к телу while-а
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.09.2009, 20:45     Функция strstr #3
amazingsoul, это Builder? Лучше используйте AnsiString вместо char*.

p.s: используй bb-коды для подсветки синтаксиса - проще читать
amazingsoul
0 / 0 / 0
Регистрация: 28.07.2009
Сообщений: 37
01.09.2009, 21:03  [ТС]     Функция strstr #4
Цитата Сообщение от МедведЪ Посмотреть сообщение
amazingsoul, а сколько раз должна работать?

Добавлено через 1 минуту

C++
1
while(strstr(buffer,"p10")!=0)
IF это только один раз а while означает,если вдруг произайдет то что в скобках, то перейти к следующему оператору...если нет то перейти к телу while-а
Должна корректно отрабатывать при каждом срабатывании таймера.А то получается, в первый раз при приходе p11 реакции нет, как и должно быть, а в дальнейшем при приходе p10,реакция так и не наступает.

Добавлено через 5 минут
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
amazingsoul, это Builder? Лучше используйте AnsiString вместо char*.

p.s: используй bb-коды для подсветки синтаксиса - проще читать
strstr по-моему только с *char умеет работать
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
01.09.2009, 21:57     Функция strstr #5
Цитата Сообщение от amazingsoul Посмотреть сообщение
strstr по-моему только с *char умеет работать
так в AnsiString есть методы. ты о них слышал?
так вот, там точно есть метод поиска подстроки.
amazingsoul
0 / 0 / 0
Регистрация: 28.07.2009
Сообщений: 37
02.09.2009, 00:22  [ТС]     Функция strstr #6
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
так в AnsiString есть методы. ты о них слышал?
так вот, там точно есть метод поиска подстроки.
Это конечно здорово, но почему strstr не работает больше 1 раза?тут скорее вопрос принципа

Добавлено через 12 минут
Цитата Сообщение от amazingsoul Посмотреть сообщение
Это конечно здорово, но почему strstr не работает больше 1 раза?тут скорее вопрос принципа
Спасибо всем, нашел проблему )
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
02.09.2009, 00:26     Функция strstr #7
Добавлено через 42 секунды
Цитата Сообщение от amazingsoul Посмотреть сообщение
Спасибо всем, нашел проблему )
расскажи потомкам.. мож кто с таким же столкнется - так поможешь кому тогда.
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
02.09.2009, 01:00     Функция strstr #8
расскажи потомкам.. мож кто с таким же столкнется - так поможешь кому тогда.
проблема может быть только в лажовом коде.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2009, 01:04     Функция strstr
Еще ссылки по теме:

Функция strstr C++
Сбой при нулевой выдаче у функций strchr и strstr C++
C++ Не работает strstr
Типы аргументов функции strstr C++
C++ Не срабатывает функция strstr()

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

Или воспользуйтесь поиском по форуму:
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
02.09.2009, 01:04     Функция strstr #9
Цитата Сообщение от Rififi Посмотреть сообщение
проблема может быть только в лажовом коде
я это понимаю. и так же осознаю, что есть, и не мало, людей кто может допустить такую же ошибку в коде.
Yandex
Объявления
02.09.2009, 01:04     Функция strstr
Ответ Создать тему
Опции темы

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