All streams
Search
Write a publication
Pull to refresh
4
0
Send message
Хороший ответ. А вы точно программист? ;)
Заголовок спойлера
Удалять желательно так же как ставили.
Как работать с cmake?


Хороший вопрос. Правильный ответ есть? ;)
Опять нет кнопки «Сделать всё хорошо».
Это же Си, тут много где int.


Скорее совместимость со стандартами, где положено чтобы на вход подавалось unsigned char + EOF (-1).
Получается что есть 2 функции с одинаковыми параметрами (isalnum и isalnum_l), но одна с wide chars не работает (и даже на некоторых может упасть), а вторая — работает, но требует дополнительных движений. Жаль, автор умолчал, на каком именно символе оно падает.

Заголовок спойлера
#include <stdio.h>
#include <locale.h>

int main()
{
    int c = 0x410; // русская А
    setlocale(LC_ALL,""); 
    locale_t l = duplocale(LC_GLOBAL_LOCALE);
    printf("isalnum(%d)=%d\n", c, isalnum_l(c, l));
    return 0;
}





LANG=ru_RU.UTF-8 ./a.out
isalnum(1040)=8

Логично, вернула не 0.

LANG=en_US.UTF-8 ./a.out
isalnum(1040)=8

LANG=C ./a.out
isalnum(1040)=0

На входе у функции не char а int
       int isalnum(int c);


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

echo -n я|iconv -t cp866|hexdump -C
00000000 ef |.|
echo -n я|iconv -t cp1251|hexdump -C
00000000 ff |.|
echo -n я|iconv -t utf8|hexdump -C
00000000 d1 8f |..|
cho -n я|iconv -t utf32|hexdump -C
00000000 ff fe 00 00 4f 04 00 00 |....O...|



Если не хотим, чтобы программа падала — нужно уметь проверять int на валидность, причем с учетом кодировки.
Всё равно проверка нужна: мы же не хотим, чтобы от текста в не той кодировке программа падала. Только она будет самописная и не оптимизированная под все возможные архитектуры.
С третьей стороны, раз внутри функции массивы (с возможностью вылета за пределы) — почему не делать проверку на валидность входных данных?

Лучше бы сразу смотреть в сторону mqtt например.

2 кружочка нарисовано, осталось нарисовать остальную сову ;) Унылая математика, pid-регуляторы, датчики… Переходите сразу на С++; если для какого-то из датчиков придется делать ногодрыг — лучше это делать на более низком уровне.

"Контент обычно привязан к каким-то аккаунтам/сообществам/…, из ниоткуда он не появляется."


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


"разница очень большая"


Не очень большая. Кто-то другой маркирует контент, или сразу удаляет — в обоих случаях решение принимает кто-то другой. И момент, когда от маркировки перейдут к удалению, никто и не заметит, из своего пузыря.

"Вам не нравятся чьи-то высказывания — не ходите туда, уберите это из своей ленты"


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

Дать удобные инструменты для настройки фильтрации на индивидуальном уровне, если уж такая мягкая почва под ногами и аж кушать не можется из-за чьего-то поста в Facebook.


Спрятать голову в песок иными словами.
Если на форум краснодеревщиков вывалить видосик «как я сделаль скворечник» — там тоже не одобрят. А если после скворечника похвастаться ещё и синичником… :D

Разные библиотеки, язык один. C++ в attiny и внутри office это тоже один язык.

"Я 2 квартала гналась за вами чтобы сказать, как вы мне безразличны" (ц) :)

А он где то кроме rails применяется?

"как работать с bash, как создавать проект, как использовать пакетный менеджер в том языке, который он изучает и как деплоить на продакшн"


К программированию микроконтроллеров это тоже относится? ;)

Поэтому perl не нужен. Goodnight, sweet prince.

"Скутер сам общался с клиентом, без посредников. Деньги с кошелька пользователя так же списывались децентрализовано, с использованием контрактов."


Спасибо, теперь понятно почему, но непонятно зачем ;) Телеметрия собирается централизовано и online; обновления рассылаются централизовано; зачем ещё один сложный и интересный механизм?

Information

Rating
Does not participate
Registered
Activity