![]() |
|
Модераторы: bsa |
![]()
|
|
| TupDub |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 21.11.2009 Репутация: нет Всего: нет |
Привет!
Пытаюсь сделать преобразование строки на русском родном языке в нижний регистр, без помощи STL библиотеки - ничего не помогает. Вот код:
но почему-то не получается... в лучше случае он выводит вместо заглвной буквы Р букву Ё! Ёлки - палки... Люди, сижу с этим весь день... как это делать правильно ? Пытался также воспользоваться стандартными функциями типа tolower но они работаю только для латинского алфавита, а для кирилицы не работают! Установка локали не помогла... |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
||||
|
||||
| TupDub |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 21.11.2009 Репутация: нет Всего: нет |
у меня не винда, убунта... чистый Си... без посторонних библиотек
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
tolower
работают они для кириллицы тыц Это сообщение отредактировал(а) zim22 - 1.2.2010, 18:08 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
TupDub, думаю, тебе нужно использовать towlower() совместно с setlocale().
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
Покажи как ты пытался |
|||
|
||||
| TupDub |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 21.11.2009 Репутация: нет Всего: нет |
bsa, да ... я пытаюсь!
я пробую так:
но так не переводит ничего... не работает. Как правильно установить локаль? Вот так делаю, показывает правильно локаль:
Это сообщение отредактировал(а) TupDub - 2.2.2010, 13:56 |
||||
|
|||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
а так?
Добавлено через 3 минуты и 32 секунды http://www.cplusplus.com/reference/clibrar...cale/setlocale/
Это сообщение отредактировал(а) Alca - 2.2.2010, 13:50 |
||||
|
|||||
| TupDub |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 21.11.2009 Репутация: нет Всего: нет |
Alca, Вот так делаю, показывает правильно локаль:код C++
printf ("Locale is: %s\n", setlocale(LC_ALL,NULL) ); |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 4 Всего: 64 |
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
TupDub, ты разницу между tolower() и towlower() заметить можешь?
А пытаться использовать tolower() для кириллицы сущий бред, так как кириллические символы в UTF-8 двухбайтные, а tolower() работает только с символами, значения которых находятся в пределах char + EOF! |
|||
|
||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Далее, вот это неправильно
|
||||||
|
|||||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
у меня работает |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 4 Всего: 64 |
У меня вот так работает:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
У тебя Windows, в котором по умолчанию CP1251. Выстави в настройках Языка (панель управления) текущий язык Английский. И посмотри что будет с твоей программой.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |