_setmbcp

Задает новую многобайтовую кодовую страницу.

int _setmbcp(
   int codepage 
);

Параметры

  • codepage
    Новый параметр кодовой страницы для независимых от языкового стандарта многобайтовых процедур.

Возвращаемое значение

Возвращает 0, если кодовая страница задана успешно. Если недопустимое значение кодовой страницы передается в качестве codepage, возвращает -1 и не изменяет параметр кодовой страницы. Устанавливает errno в EINVAL, если происходит сбой выделения памяти.

Заметки

Функция _setmbcp определяет новую многобайтовую кодовую страницу. По умолчанию система времени выполнения автоматически задает многобайтовую кодовую страницу в системную кодовую страницу по умолчанию ANSI. Параметр многобайтовой кодовой страницы влияет на все не зависящие от языкового стандарта процедуры. Однако можно указать _setmbcp использовать кодовую страницу, определенную для текущего языкового стандарта (см. следующий список констант манифеста и соответствующих результатов поведения). Список процедур, которые зависят от кодовой страницей языкового стандарта, а не от многобайтовой кодовой страницы см. в разделе Interpretation of Multibyte-Character Sequences.

Многобайтовая кодовая страница также влияет на обработку многобайтовых символов следующими процедурами библиотеки времени выполнения:

функции _exec

_mktemp

_stat

_fullpath

функции _spawn

_tempnam

_makepath

_splitpath

tmpnam

Кроме того, все процедуры библиотеки времени выполнения, которые получают многобайтовые аргументы программы 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>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

См. также

Ссылки

_getmbcp

setlocale, _wsetlocale