Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > не работает фцнкция strstr()


Автор: supercelt 20.3.2017, 22:10
Привет! Подскажите пожалуйста

Код

char Buffer_Receive[50] = "\r\nRING\r\n\n";
char pattern[4] = "RING";
char *istr;
istr = strstr(Buffer_Receive, pattern);
if(istr != NULL){
//Если искомая строка найдена, то делаем что-то...
}


Почему не ищет?

Автор: likehood 20.3.2017, 23:18
У меня это даже не скомпилировалолсь. Ошибка во 2 стоке: размер массива недостаточен, нужен ещё один элемент для символа конца строки. Так что либо сделать размер массива 5, либо вообще его не указывать:
Код

char pattern[] = "RING";

Если строка не будет меняться, то лучше использовать указатель:
Код

const char *pattern = "RING";

Автор: supercelt 20.3.2017, 23:27
Это кстати код на си под микроконтроллер stm32, пишу в Keil uVision

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)