2013-02-11 3 views

ответ

4

В системе, совместимой с POSIX, setlocale(LC_CTYPE, NULL); вернет название региона, выбранного в настоящий момент для категории LC_CTYPE.

+0

Я пробовал такой код: '#include #include Int основной (межд argc, char * argv []) { \t \t char * c = setloc ale (LC_CTYPE, NULL); \t \t if (NULL == c) \t \t printf («Не удается получить локализацию»); \t else \t \t printf («Текущая локализация:% s \ n», c); \t \t возвращение 0; } ' но я получил это: ** Текущая локализация: C **. Где моя ошибка? –

+1

Обратите внимание, что '' C "' (или '" POSIX "') является приемлемой локализацией; это он по умолчанию, если ничего не установило. –

3

Посмотрите на nl_langinfo и localeconv страниц руководства.

Как искать подпрограммы и/или системные вызовы в системе Unix:

  • запроса через Apropos. например .: apropos locale
  • искать результаты, которые ссылаются на раздел человека 2 (системные вызовы) или раздел человека 3. (подпрограммы). , например. на макинтош:

    querylocale(3)   - Get locale name for a specified category 
    setlocale(3)    - natural language formatting for C 
    
  • взглянуть на человека страницах