| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Локаль и неправильный резульятат |
| Автор: ИванМ 14.3.2012, 11:47 | ||
Почему такая функция:
возвращает true? Ведь буква "Я" из русского алфавита, а я выбрал английскую локаль. Компилятор VS2005. |
| Автор: Result 14.3.2012, 13:23 | ||
Видимо имя локали не валидное, по крайней мере раньше эти имена были не стандартизированы и зависели от реализации. ЗЫ. POSIX - английский, 7-разрядная кодировка |
| Автор: Dem_max 14.3.2012, 14:42 |
| вообще буква Я это магическая буква, встречались приложения которые в своем пути и имена файла на русском языке не переваривали только букву Я |
| Автор: volatile 15.3.2012, 02:04 | ||
Это баг/фича старой студии. В новой исправили, кажется. и кстати не только с буквой 'Я', а со многими буквами старшей половины таблицы будет такая фигня. Решение: Во все функции is****(); (их там кучка) нельзя передавать чар. нужно передавать ансигнед чар
|
| Автор: xvr 15.3.2012, 09:41 |
Угу, ее код равен 0xFF. После расширения знака (т.к. char частенько оказывался знаковым, вот ведь сюрприз |
| Автор: ИванМ 15.3.2012, 14:02 |
| Всем спасибо. Особенно volatile. Тема закрыта. |