Функція setlocale () в C ++ встановлює локальну інформацію для поточної програми.
Функція setlocale () визначена у файлі заголовка.
прототип setlocale ()
int setlocale (категорія int, const char * локаль);
Функція setlocale використовується для встановлення вказаного мовного стандарту для даної категорії. Функція setlocale також може бути використана для запиту поточного мовного мови C.
Це можна зробити, передавши нульовий покажчик замість мови.
параметри setlocale ()
- category: Вказує, на яку локальну інформацію впливає програма. Можливі макроси для категорії:
Макроси | Опис |
---|---|
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