Здравствуйте, c-smile, Вы писали:
CS>Вот эта функция безобидная функция: CS>
CS>#include <ctype.h>
CS>int isalpha(int c);
CS>
CS>вызывает AV при значениях c > 257 во всех msvcrt...dll которые актуальны на сегодняшний день.
CS>Это (AV) правильно вообще? Или это такой дизайн?
Дизайн -> UB -> AV
ISO/IEC 9899:1999:
7.4/1
The header <ctype.h> declares several functions useful for classifying and mapping characters. In all cases the argument is an int, the value of which shall be representable as an unsigned char or shall equal the value of the macro EOF. If the argument has any other value, the behavior is undefined.
CS>>вызывает AV при значениях c > 257 во всех msvcrt...dll которые актуальны на сегодняшний день.
CS>>Это (AV) правильно вообще? Или это такой дизайн?
Ш>Правильно. Для этой функции аргумент должен быть в пределах [-1,255]. Не пользуйся стандартной библиотекой.
Да блин я скоро TerraInformatica переименую в BikeShop, а то у меня уже этих лисапетов накопилось...
Не ну есть в этом мире чё-нить на шо можно сесть и уже таки поехать?
Здравствуйте, c-smile, Вы писали: CS>Не ну есть в этом мире чё-нить на шо можно сесть и уже таки поехать?
boost
:)
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.
Здравствуйте, Rakafon, Вы писали:
R>Здравствуйте, c-smile, Вы писали: CS>>Не ну есть в этом мире чё-нить на шо можно сесть и уже таки поехать? R>boost R>
В свое время на ЕС ЭВМ была такая многопользовательская система по имени Primus. При загрузке на экране появлялась цитата:
Только примус штука предательски ненадежная. Вероятность его разгорания носит лотерейный характер. Порою он не горит оттого, что откровенно ломается, а порою не работает, потому что вдруг не работает...
(В.Шатаев. “Категория трудности”)
Ну дык это по-моему про сборку boost. Т.е. если соберется то поедем. А нет — так не судьба.
Ну а после того как мы собрали оный с помощью идущего в комплекте зубила и взгромоздившись на этот мега-лисапед мы
все из себя такие счастливые можем задаться вопросом: "ух и круто! только где тут в этом всем великолепии нужная нам isalpha()?"
Здравствуйте, c-smile, Вы писали:
CS>Ну дык это по-моему про сборку boost. Т.е. если соберется то поедем. А нет — так не судьба. CS>Ну а после того как мы собрали оный с помощью идущего в комплекте зубила и взгромоздившись на этот мега-лисапед мы CS>все из себя такие счастливые можем задаться вопросом: "ух и круто! только где тут в этом всем великолепии нужная нам isalpha()?"
Вообще-то абсолютное большинство бустовских библиотек — header-only, так что ничего собирать не надо, собирать нужно от силы 5-10 библиотек.
Опять же, если нужна стандартная сборка для винды, возьми инсталлятор отсюда и не парься, все уже будет собрано: http://www.boostpro.com/download
Здравствуйте, Шахтер, Вы писали:
Ш>Правильно. Для этой функции аргумент должен быть в пределах [-1,255]. Не пользуйся стандартной библиотекой.
Справедливости ради стоит заметить, что это ограничение касается стандартной библиотеки языка C. В стандартной библиотеке языка C++ есть шаблон функции template <class charT> bool isalpha (charT c, const locale& loc);, который этим ограничением не страдает.
Здравствуйте, Feonyf, Вы писали: F>У windows есть IsCharAlpha
... зачем советуете MS-Specific, уважаемый? Ведь c-smile необходимо HTMLayout ещё и на другие платформы портировать и поддерживать. И для него удобнее будет работать сразу с кроссплатформенными инструментами, а не городить кучу своих обёрток, абстрагирующих от платформы, над вызовами типа IsCharAlpha. Как справедливо заметил(а) igna в библиотеке С++ есть для этого безопасное средство
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.
Здравствуйте, c-smile, Вы писали: CS>все из себя такие счастливые можем задаться вопросом: "ух и круто! только где тут в этом всем великолепии нужная нам isalpha()?"
Да я пошутил насчёт boost'а
:)
... стёб-с
CS>Ну дык это по-моему про сборку boost. Т.е. если соберется то поедем. А нет — так не судьба.
... ну это вы, видимо, очень плохо знакомы с boost: собирается без проблем, не требуя молитв богу Ассемблера и вмешательств шамана с бубнами, и ездить на этом мото-вело-парке — одно удовольствие, причём на абстрагируясь от платформы, что немаловажно.
"Дайте мне возможность выпускать и контролировать деньги в государстве и – мне нет дела до того, кто пишет его законы." (c) Мейер Ансельм Ротшильд , банкир.
Здравствуйте, Rakafon, Вы писали:
R>... ну это вы, видимо, очень плохо знакомы с boost: собирается без проблем, не требуя молитв богу Ассемблера и вмешательств шамана с бубнами
То-то я неделю boost::thread под WinCE собирал, перекопав весь инет :)))
yf Здравствуйте, jazzer, Вы писали:
J>Здравствуйте, c-smile, Вы писали:
CS>>Ну дык это по-моему про сборку boost. Т.е. если соберется то поедем. А нет — так не судьба. CS>>Ну а после того как мы собрали оный с помощью идущего в комплекте зубила и взгромоздившись на этот мега-лисапед мы CS>>все из себя такие счастливые можем задаться вопросом: "ух и круто! только где тут в этом всем великолепии нужная нам isalpha()?"
J>Вообще-то абсолютное большинство бустовских библиотек — header-only, так что ничего собирать не надо, собирать нужно от силы 5-10 библиотек. J>Опять же, если нужна стандартная сборка для винды, возьми инсталлятор отсюда и не парься, все уже будет собрано: J>http://www.boostpro.com/download
может и мне подскажешь где бы инсталлятор буста взять для LynxOS 4.0 (на котором gcc 2.95.3)