SHPORA.net :: PDA | |
Main FAQ гуманитарные науки естественные науки математические науки технические науки Установка локальных настроек setlocale Установка региональных настроек. Синтаксис: string SetLocale(string category, string locale); Функция setlocale устанавливает текущую локаль, с которой будут работать функции преобразования регистра символов, вывода даты-времени и т.д. Вообще говоря, для каждой категории функций локаль определяется отдельно и выглядит по-разному. То, какую именно категорию функций затронет вызов setlocale(), задается в параметре category. Он может принимать следующие строковые значения: • LC_CTYPE - активизирует указанную локаль для функций перевода в верхний/нижний регистры; • LC_NUMERIC - активизирует локаль для функций форматирования дробных чисел - а именно, задает разделитель целой и дробной части в числах; • LC_TIME - задает формат вывода даты и времени по умолчанию; • LC_ALL - устанавливает все вышеперечисленные режимы. Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила. Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix). Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима. view source print? 1 setlocale("LC_CTYPE","ru_SU.KOI*-R"); 2 // Здесь вызов устанавливает таблицу замены 3 // регистра букв в соответствии с кодировкой KOI8-R. |