roboforum.ru

Технический форум по робототехнике.


Сравнение строк

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Сравнение строк

Сообщение Montoya » 23 июн 2009, 18:29

Стоит такая задача, передать в МК по USART слово, если это слово равно "temp", то отправить на ПК температуру. Я написал такой код (убрал лишнее):
Код: Выделить всёРазвернуть
unsigned char ch[5];
gets(ch,4);
if (ch == "temp") {
puts(buffer);
}

но при это ничего не происходит. Я так понимаю условие if (ch == "temp") не выполняется. "temp" - 5 (temp и \0 ) символов, ch - получается 4, т.е. нет символа конца строки. Пробовал так ch[4] = '\0'; , не помогло, в чем моя ошибка? :oops:
Аватара пользователя
Montoya
 
Сообщения: 168
Зарегистрирован: 14 авг 2007, 15:16
Откуда: Ростов-на-Дону
прог. языки: C/C++
ФИО: Герасимов Иван

Re: Сравнение строк

Сообщение Виталий » 23 июн 2009, 18:41

Используй функцию strncmp или strcmp
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Сравнение строк

Сообщение Montoya » 23 июн 2009, 19:11

Ааааа, гениально! Спасибо, работает :good: :beer:
Аватара пользователя
Montoya
 
Сообщения: 168
Зарегистрирован: 14 авг 2007, 15:16
Откуда: Ростов-на-Дону
прог. языки: C/C++
ФИО: Герасимов Иван


Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10