я и сравнивать не будуDemiurg писал(а):Сравните на досуге,
предполагаю, что экономнее - да, вы добьётесь эффекта. но вот что будет проще - сомневаюсь
я и сравнивать не будуDemiurg писал(а):Сравните на досуге,
Я ни грамма не сомневаюсь, что функция, написанная компетентным программистом для решения узкоспециализированной задачи будет лучше, короче и оптимальнее, чем универсальная функция из стандартной библиотеки.Demiurg писал(а):Я работаю с символьными дисплеями
Сравните на досуге, сколько памяти займет мой способ и с применением стандартных библиотек.
а как стать начинающему компетентным программистом, если не учиться. Стандартные библиотеки это хорошо, но строку из двух символов, типа как хотел ТС, имхо сравнить не сложноAlkul писал(а):Но тут нужна самая малость - компетентный программист. Коим начинающий ни разу не является.
oleg110592 писал(а):имхо сравнить не сложно
Да пофиг откуда и куда идёт. Строка в Си-представлении всегда оканчивается нулевым символом !afz писал(а):Только не по нулю. Если набор идет с терминала, признаком окончания строки, обычно, служит символ <CR> (0x0D)Аlex писал(а):В нём и заполняйте массив. А окончание приёма строки будет по нулевому байту.
а где тут вредный совет, выражено только личное мнение, что правилами форума не возбраняется. Учить, имхо, не имею права - увы не педагог.ARV писал(а):не давали бы вредные советы...
вы в своих программах тоже строки сравниваете приведеным вами методом? если так, то это плохо, и вдвойне плохо советовать это другим.oleg110592 писал(а):выражено только личное мнение
Да подобным. В прошлом году сдано изделие на STM32F091 с 5 UARTами для работы во пожаро и взрывоопасных условиях , прошло сертификацию, испытания, уже несколько месяцев не выключаясь работает без нареканий у заказчиков. Думаете надо отзывать? Надо использовать стандартные библиотеки для безопасности?ARV писал(а):вы в своих программах тоже строки сравниваете приведеным вами методом?
Ну-ну, зачем жути нагонять? Работоспособность в пожаро-взрывобезопасных условиях определяется не программой, а правильным подбором комплектующих, схемотехникой и конструктивом.oleg110592 писал(а):В прошлом году сдано изделие на STM32F091 для работы во пожаро и взрывоопасных условиях
стандартные функции думаете не так делают? Если строка длинная организуем циклLEX38RUS писал(а):Вытаскивая по одному символу из массива я тоже считаю ни айс и это не правильно.
Код: Выделить всё
/* ANSI sez:
* The `strcmp' function compares the string pointed to by `s1' to the
* string pointed to by `s2'.
* The `strcmp' function returns an integer greater than, equal to, or less
* than zero, according as the string pointed to by `s1' is greater than,
* equal to, or less than the string pointed to by `s2'. [4.11.4.2]
*/
int
strcmp(const char *s1, const char *s2)
{
for ( ; *s1 == *s2; s1++, s2++)
if (*s1 == '\0')
return 0;
return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : +1);
}
oleg110592 писал(а):В прошлом году сдано изделие на STM32F091 с 5 UARTами для работы во пожаро и взрывоопасных условиях , прошло сертификацию, испытания, уже несколько месяцев не выключаясь работает без нареканий у заказчиков.
oleg110592 писал(а):Думаете надо отзывать? Надо использовать стандартные библиотеки для безопасности?
ведь можете же, когда захотите, не понятно, к чему Ванькой-дурачком прикидываться-то?oleg110592 писал(а):Если строка длинная организуем цикл
Одно другому не противоречит. Длинная строка - парсим в цикле, гарантировано короткая ( например, команда) - для быстрой реакции можно и вышеприведенным способом. Вообще тут многое зависит от конкретных условий.ARV писал(а):ведь можете же, когда захотитеoleg110592 писал(а):Если строка длинная организуем цикл
И я не знал. Тоже теперь буду знать и стараться символы в код не добавлять, а заменять их на числа в их ASCII-представленииoleg110592 писал(а):Получается строка "ON" - это просто набор из двух магических чисел. Спасибо буду знать.
из трех - не благодаритеoleg110592 писал(а):Получается строка "ON" - это просто набор из двух магических чисел. Спасибо буду знать.
когда у вас спрашивают совета, надеются, что вы умеете и знаете больше, чем вопрошающий, и делаете лучше, чем он. а если вы быдлокодите - то сразу следует предупредить, что ваши советы - быдлокодерские. я бы не стал слушать таких советов.Аlex писал(а):Каждый былокодит так, как хочет.