char *setlocale(int type, const char *locale)
Эта функция позволяет запрашивать или устанавливать определенные параметры, зависящие от географического положения. Например, в Европе вместо десятичной точки используется запятая.
Если параметр local задан как NULL, то функция setlocale() возвращает указатель на строку текущей локализации. В противном случае функция setlocale() пытается использовать заданную строку локализации для установки локальных параметров в соответствии со спецификацией переменной type.
В момент вызова переменная type должна иметь одно из следующих значений, заданных в виде макросов:
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_TIME
Макрос LC_ALL относится ко всем категориям локализации. Макрос LC_COLLATE воздействует на функцию strcoll(). Макрос LC_CTYPE изменяет работу функций с символами. Макрос LC_MONETARY определяет формат валюты. LC_NUMERIC изменяет способ изображения десятичной части при форматировании ввода/вывода. Наконец, макрос LC_TIME определяет поведение функции strftime().
Функция setlocale() возвращает указатель на строку, ассоциированную с параметром type. При возникновении ошибки возвращается нулевой указатель.