Проверка символа в строковой переменной

PIC версия программы(разные темы)

Проверка символа в строковой переменной

Сообщение kindofsky (kindofsky) » 13 авг 2016, 20:14

Привет коллеги!
Не нашел решения как проверить значение символа в строковой переменной.
Например принимаю по УАРТ строковую переменную такого вида:
a02346rb00077rc16300r
Мне надо проверить соответствие символов abc, а так же наличие на своем месте символа r.

Есть какой либо способ напрямую глядеть символ в строке?

Пока кроме как парсить строку на куски и извлекая оттеда значение ничего не приходит на ум.

Кстати в рукоблудстве к BoostC такой темы нет... Хотя может вот это подойдет?:
Это из описания в string.h
Код: выделить все
Function Name: strchr
      Description: This function will locate the first occurrence of 'ch' in the
                   string pointed to by 'ptr'. The function will return a pointer
                   to 'ch' if it is found. If 'ch' is not found in the string
                   a null-pointer will be returned.

            Input: 'char' type 'ptr' pointing to a null-terminated string.
                   'char' type 'ch' to be located in the string.

           Output: 'char' type 'ptr' pointing to the first matched character
                    in string 'ptr', or a null-pointer.
*/
extern char* strchr( const char *ptr, char ch );

Тут возникает другая проблема - Как это работает?
Тут действительно нужна на входе строка с 0 на конце?
Что значит строка с указателем 'ptr'?

Я пытаюсь изобразить что то типа :
FCV_VAR_CHECK_1=strchr(FCV_RS232_BUF_0, 'b');
Чето не то...

Пажалста помогите...


Немного позже поглядел - компилятор пишет что операнд "strchr" незнаком...
Это что библиотека string.h не подключилась?
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось kindofsky 13 авг 2016, 20:36, всего редактировалось 1 раз.
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе

Re: Проверка символа в строковой переменной

Сообщение kindofsky (kindofsky) » 13 авг 2016, 20:32

Таак ... библиотеку подключил......
Чёйто вот это теперя пишет????
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе

Re: Проверка символа в строковой переменной

Сообщение Enigm (Enigm) » 14 авг 2016, 06:01

Может я не правильно понял что нужно.
Но я для сравнения символов из строки делаю так.
adres = Char$ (rx,0) . rx это принятая строка, adres получает байт нужного мне символа из строки.
А потом уже сравниваю по ASCII .
Напрямую сравнивать строковые переменные чет не разобрался как.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Проверка символа в строковой переменной

Сообщение kindofsky (kindofsky) » 14 авг 2016, 07:51

Спасибо Enigm.
То что нужно.
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе
Вернуться наверх

Re: Проверка символа в строковой переменной

Сообщение Yushik (Андрей) » 14 авг 2016, 09:48

Напрямую сравнить строки, можно так в Хелпе фловкода есть описание.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Проверка символа в строковой переменной

Сообщение kindofsky (kindofsky) » 14 авг 2016, 11:28

Yushik писал(а):Напрямую сравнить строки

Спасибо.
Вопрос звучал: "Проверка символа в строковой переменной"
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе
Вернуться наверх

Re: Проверка символа в строковой переменной

Сообщение Enigm (Enigm) » 14 авг 2016, 12:17

В принципе можно и так как предложили, но для символа из строки, длиннее и прожорливее выходит.
Единственное не нужно таблицу ASCII юзать.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Проверка символа в строковой переменной

Сообщение kindofsky (kindofsky) » 14 авг 2016, 12:21

Enigm писал(а):можно и так как предложили

Можно. Можно даже парсить строку.
Все это описано. И все это я делал. Отказался.
Getchar - самый оптимальный способ. Вот за него и спасибо.
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: kool78

cron