Форум программистов, компьютерный форум CyberForum.ru

Получить текущий locale. (category, * locale) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
vechestva
-28 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 47
24.09.2012, 18:32     Получить текущий locale. (category, * locale) #1
Привет!
Если стоит:
C++
1
setlocale (LC_ALL, "Ukrainian");
как я могу теперь получить его аргументы?
То-есть, int category и const char * locale?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2012, 18:32     Получить текущий locale. (category, * locale)
Посмотрите здесь:

C++ локаль(locale)
Текущий миннимум C++
C++ Как получить текущий адрес стека?
Текущий месяц C++
Установка locale (той которой от с++) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5914 / 3351 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
24.09.2012, 19:07     Получить текущий locale. (category, * locale) #2
int category - никак не получить, это лишь говорит, что устанавливаете локализацию на все сразу.
http://en.cppreference.com/w/cpp/locale/locale/locale
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.09.2012, 19:14     Получить текущий locale. (category, * locale) #3
vechestva, setlocale возвращает char*. Т.е. то, что поставили то и возвращает. http://www.cplusplus.com/reference/c...ale/setlocale/ Чтобы получить текущую локаль достаточно использовать
C
1
char* current = setlocale(LC_ALL, NULL);
vechestva
-28 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 47
24.09.2012, 20:54  [ТС]     Получить текущий locale. (category, * locale) #4
Цитата Сообщение от ForEveR Посмотреть сообщение
vechestva, setlocale возвращает char*. Т.е. то, что поставили то и возвращает. http://www.cplusplus.com/reference/c...ale/setlocale/ Чтобы получить текущую локаль достаточно использовать
C
1
char* current = setlocale(LC_ALL, NULL);
допустим я хочу получить текущий LOCAL не используя setlocale?

Добавлено через 1 минуту
то-есть, если в программе ещё не использовался setlocale?
Петррр
 Аватар для Петррр
5914 / 3351 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
24.09.2012, 20:57     Получить текущий locale. (category, * locale) #5
По моей ссылке смотрите. Конструктор по умолчанию создает локализацию на основе текущей.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.09.2012, 21:00     Получить текущий locale. (category, * locale) #6
Петррр, Это ж С++.
vechestva, Все равно использовалась или нет. Вернется дефолтная локаль, если не использовалось.
vechestva
-28 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 47
24.09.2012, 21:07  [ТС]     Получить текущий locale. (category, * locale) #7
Цитата Сообщение от Петррр Посмотреть сообщение
По моей ссылке смотрите. Конструктор по умолчанию создает локализацию на основе текущей.
C++
1
2
3
4
5
6
7
8
int main()
{
    std::string locale = setlocale (LC_ALL, "Ukrainian");
    cout << "Locale: " << loacle << endl;
 
    cin.get();
    return 0;
}
не похоже. Текущая была не Ukrainian.Ukraine.1251

Добавлено через 1 минуту
Цитата Сообщение от ForEveR Посмотреть сообщение
vechestva, Все равно использовалась или нет. Вернется дефолтная локаль, если не использовалось.
не вернулась же
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.09.2012, 21:09     Получить текущий locale. (category, * locale) #8
vechestva,
C
1
setlocale(LC_ALL, NULL);
Я это кому писал? http://liveworkspace.org/code/240e5e...33108e37edb7a1
А если setlocale еще не использовалась - локаль будет в любом случае C.
vechestva
-28 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 47
24.09.2012, 22:25  [ТС]     Получить текущий locale. (category, * locale) #9
Цитата Сообщение от ForEveR Посмотреть сообщение
vechestva,
C
1
setlocale(LC_ALL, NULL);
Я это кому писал? http://liveworkspace.org/code/240e5e...33108e37edb7a1
А если setlocale еще не использовалась - локаль будет в любом случае C.
Получается setlocale(LC_ALL, NULL) это единственная альтернатива не существующему в стандарте getlocale()?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2012, 22:48     Получить текущий locale. (category, * locale)
Еще ссылки по теме:

C++ Как кинуть исключение std::locale::global(std::locale("");
C++ Locale - не верное отображение символа - разделителя тысяч для чисел
Объясните, что означает wcout.imbue( locale( "rus_rus.866" ) ); и wcin.imbue( locale( "rus_rus.866" ) ); ? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.09.2012, 22:48     Получить текущий locale. (category, * locale) #10
vechestva, Ага.
Yandex
Объявления
24.09.2012, 22:48     Получить текущий locale. (category, * locale)
Ответ Создать тему
Опции темы

Текущее время: 09:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru