C ++ setlocale () - C ++ стандартна библиотека

Функцията setlocale () в C ++ задава локалната информация за текущата програма.

Функцията setlocale () е дефинирана в заглавния файл.

прототип на setlocale ()

 int setlocale (int категория, const char * локал);

Функцията setlocale се използва за задаване на зададен локал на системата за дадената категория. Функцията setlocale може да се използва и за запитване на текущия локал C.

Това може да се направи чрез подаване на нулев указател вместо локал.

параметри setlocale ()

  • категория: Указва коя локална информация на програмата е засегната. Възможните макроси за категория са:
Макрос на категорията за setlocale ()
Макроси Описание
LC_ALL Избира всички локали C
LC_COLLATE Избор на категорията за съпоставяне
LC_CTYPE Избира категорията за класификация на знаците
LC_MONETARY Избира категорията за парично форматиране
LC_NUMERIC Избира категорията за цифрово форматиране
LC_TIME Избира категорията за форматиране на времето
  • локал: специфичен за системата идентификатор на локал. Ако това е нулев указател, извикване на setlocale () отправя запитване към текущия локал C.

setlocale () Върната стойност

  • При успех функцията setlocale () връща указател към низа, идентифициращ локала C след прилагане на промените.
  • При неуспех връща нулев указател.

Пример: Как работи функцията setlocale ()?

 #include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )

Когато стартирате програмата, изходът ще бъде:

 Текущ локал: en_US.utf8 Промяна на локал Текущ локал: en_GB.utf8

Интересни статии...