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

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

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

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

01.09.2009, 19:34. Просмотров 6685. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2009, 19:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция strstr (C++):

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout<<Rus("введите текст")<<endl; cin>>f; cout<<Rus("введите выходной...

функция strstr - C++
Кто нибудь может объяснить как использовать функцию strstr со строками? В последней строке кода выдает ошибку "no matching function for...

Функция strstr - C++
необходимо написать функцию strstr самому или точнее вот условие: Реализуйте функцию, которая ищет заданную подстроку в строке и...

Не срабатывает функция strstr() - C++
Функция поиска слова в строке не даёт результат. void SearchWord(MyString *_strings, int _number) { char *word = new char; ...

Как использовать функции string::find или функция strstr(str1 ,str2) - C++
как использовать функции string::find или функция strstr(str1 ,str2) Добавлено через 3 минуты вернее какой у них синтаксис привдети...

Не работает strstr - C++
Суть проблемы такова: strstr выдаёт нулевое значение, хотя быть такого не может. Искомые данные выделил. При выводе указателей пишет нули...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
^Tecktonik_KiLLeR
1160 / 442 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
01.09.2009, 20:39 #2
amazingsoul, а сколько раз должна работать?

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

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

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

Написать аналог strstr - C++
Добрый день! Нужно написать аналог функции strstr Я написал, но есть одна проблемка, которая возникает при рассмотрении строк такого...

С / С++ Есть ли аналоги strstr() ? - C++
Есть ли функция которая не возвращала бы позицию вхождения строки str1 в str2, а просто выдавала бы true / false если строка входит / не...

Типы аргументов функции strstr - C++
Здравствуйте. Подскажите, какие преобразования мне нужно осуществить, чтобы функция работала правильно? При таком коде: char k; string...

Узнать, куда указывает strstr - C++
Здравствуйте, у меня есть массив. С помощью STRSTR я проверяю его на наличие строки, но как мне на каком по счету элементе массива...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.09.2009, 01:04
Ответ Создать тему
Опции темы

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