_setmbcp
Задает новую многобайтовую кодовую страницу.
int _setmbcp(
int codepage
);
Параметры
- codepage
Новый параметр кодовой страницы для независимых от языкового стандарта многобайтовых процедур.
Возвращаемое значение
Возвращает 0, если кодовая страница задана успешно. Если недопустимое значение кодовой страницы передается в качестве codepage, возвращает -1 и не изменяет параметр кодовой страницы. Устанавливает errno в EINVAL, если происходит сбой выделения памяти.
Заметки
Функция _setmbcp определяет новую многобайтовую кодовую страницу. По умолчанию система времени выполнения автоматически задает многобайтовую кодовую страницу в системную кодовую страницу по умолчанию ANSI. Параметр многобайтовой кодовой страницы влияет на все не зависящие от языкового стандарта процедуры. Однако можно указать _setmbcp использовать кодовую страницу, определенную для текущего языкового стандарта (см. следующий список констант манифеста и соответствующих результатов поведения). Список процедур, которые зависят от кодовой страницей языкового стандарта, а не от многобайтовой кодовой страницы см. в разделе Interpretation of Multibyte-Character Sequences.
Многобайтовая кодовая страница также влияет на обработку многобайтовых символов следующими процедурами библиотеки времени выполнения:
Кроме того, все процедуры библиотеки времени выполнения, которые получают многобайтовые аргументы программы argv или envp (например, семейства _exec и _spawn), обрабатывают эти строки в соответствии с многобайтовой кодовой страницей. Следовательно, на эти процедуры также влияет вызов _setmbcp, изменяющий многобайтовую кодовую страницу.
Для аргумента codepage может быть установлено одно из следующих значений:
_MB_CP_ANSI Используется кодовая страница ANSI, полученная от операционной системы при запуске программы.
_MB_CP_LOCALE Используется кодовая страница текущего языкового стандарта, полученная из предыдущего вызова setlocale.
_MB_CP_OEM Используется кодовая страница OEM, полученная от операционной системы при запуске программы.
_MB_CP_SBCS Используется однобайтовая кодовая страница. Если кодовая страница установлена в _MB_CP_SBCS, процедуры, подобные _ismbblead, всегда возвращают значение false.
Любая другая допустимая кодовая страница, независимо от того, является ли значение ANSI, OEM, или другой поддерживаемой операционной системой кодовой страницей (за исключением UTF-7 и UTF-8, которые не поддерживаются).
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_setmbcp |
<mbctype.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.