crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Стандартная библиотека шаблонов, Проблема с русским текстом
Andrew Selivanov
  опции профиля:
сообщение 18.3.2008, 15:33
Сообщение #11


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


setlocale( LC_ALL, ".ACP" );
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 19.3.2008, 12:21
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Andrew Selivanov @ 18.3.2008, 15:33) *
setlocale( LC_ALL, ".ACP" );

Указанный Tonal пример пока не пробовал, попробую отвечу.

А все-таки про setlocale можно поподробнее, пожалуйста? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 19.3.2008, 12:43
Сообщение #13


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


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

Длинно: В Страуструпе это есть, в Гугле тоже :)

Причина проблемы: Походу у тебя установлена не та кодировка для локали, а так ты явно устанавливаешь системную.

http://msdn2.microsoft.com/en-us/library/a...906(VS.60).aspx

If locale is a null pointer, setlocale queries, rather than sets, the international environment, and returns a pointer to the string associated with the specified category. The program’s current locale setting is not changed. For example,
setlocale( LC_ALL, NULL );

returns the string associated with category.

The following examples pertain to the LC_ALL category. Either of the strings ".OCP" and ".ACP" can be used in place of a code page number to specify use of the system default OEM code page and system-default ANSI code page, respectively.

setlocale( LC_ALL, "" );

Sets the locale to the default, which is the system-default ANSI code page obtained from the operating system.

setlocale( LC_ALL, ".OCP" );

Explicitly sets the locale to the current OEM code page obtained from the operating system.
setlocale( LC_ALL, ".ACP" ); // (!)

Sets the locale to the ANSI code page obtained from the operating system.

setlocale( LC_ALL, "[lang_ctry]" );


Сообщение отредактировал Andrew Selivanov - 19.3.2008, 12:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 19.3.2008, 12:51
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Andrew Selivanov @ 19.3.2008, 12:43) *
Коротко: Устанавливает всякие национальные штуки, типа кодировок, используемых функциями, точку или запятую использовать для дробей итп.

Длинно: В Страуструпе это есть, в Гугле тоже :)

Причина проблемы: Походу у тебя установлена не та кодировка для локали, а так ты явно устанавливаешь системную.

http://msdn2.microsoft.com/en-us/library/a...906(VS.60).aspx

Спасибо! поставил так, все заработало! Огромное спасибо! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.12.2024, 21:03