SetConsoleOutputCP 函数

设置与调用进程关联的控制台使用的输出代码页。 控制台使用其输出代码页将各种输出函数写入的字符值转换为控制台窗口中显示的图像。

语法

BOOL WINAPI SetConsoleOutputCP(
  _In_ UINT wCodePageID
);

参数

wCodePageID [in]
要设置的代码页的标识符。 有关详细信息,请参阅“备注”。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError

备注

代码页将 256 个字符的代码映射到单个字符。 不同的代码页包含不同的特殊字符,通常会对一种语言或一组语言进行自定义。

如果当前字体是固定间距 Unicode 字体,SetConsoleOutputCP 会将字符值映射更改为字体的字形集,而不是每次调用时加载单独的字体。 这会影响扩展字符(大于 127 的 ASCII 值)在控制台窗口中的显示方式。 但是,如果当前字体是光栅字体,SetConsoleOutputCP 不会影响扩展字符的显示方式。

要查找操作系统安装或支持的代码页,请使用 EnumSystemCodePages 函数。 本地计算机上可用的代码页的标识符也存储在注册表中的以下键下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

但是,最好使用 EnumSystemCodePages 枚举代码页,因为注册表在不同版本的 Windows 中可能存在差异。 要确定特定代码页是否有效,请使用 IsValidCodePage 函数。 要检索有关代码页的详细信息(包括其名称),请使用 GetCPInfoEx 函数。 有关可用代码页标识符的列表,请参阅代码页标识符

要确定控制台的当前输出代码页,请使用 GetConsoleOutputCP 函数。 要设置和检索控制台的输入代码页,请使用 SetConsoleCPGetConsoleCP 函数。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
Header ConsoleApi2.h (via WinCon.h, include Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

控制台代码页

控制台函数

GetConsoleCP

GetConsoleOutputCP

SetConsoleCP