函式簡介
函式功能:API函式SetConsoleOutputCP用於設定控制台程式輸出代碼頁。具體代碼頁見補充資料。SetConsoleOutputCP() 更改顯示在控制台視窗中的擴展字元,僅噹噹前字型為固定間距 Unicode 字型。它不會影響顯示的擴展字元的控制台字型名為"光柵字型。若要更改的 256 個 8 位字元值映射到標誌符號的一種固定間距 Unicode 字型設定,而不是載入一個單獨的、 非-Unicode 字型的每個調用 SetConsoleOutputCP() 設計 SetConsoleOutputCP()。對於 Windows NT、 Windows 2000 和 Windows XP 當前可用的 Unicode 控制台字型是黑控制台 TrueType 字型。
為了演示 SetConsoleOutputCP(),實現一個控制台應用程式,它調用此 API。此函式從一個成功返回時後, 調用 printf,若要顯示的 ASCII 值大於 127 的字元。
Win32 平台 SDK 還附帶的示例演示如何使用 SetConsoleOutputCP() API 在 \samples\WinUI\Console\Console 目錄中稱為 CONSOLE。
補充資料:
代碼頁(Code page) | 說明 |
1258 | 越南文 |
1257 | 波羅的海文 |
1256 | 阿拉伯文 |
1255 | 希伯來文 |
1254 | 土耳其語 |
1253 | 希臘文 |
1252 | 拉丁文(ANSI) |
1251 | 斯拉夫文 |
1250 | 中歐文 |
950 | 繁體中文 |
949 | 韓文 |
936 | 簡體中文 |
932 | 日文 |
874 | 泰文 |
850 | 使用多種語言(MS-DOS拉丁文) |
437 | MS-DOS美語/英語 |
程式示例
#include <windows.h>
#include <stdio.h>
int main( void )
{
SetConsoleOutputCP(936);
printf("簡體中文\n");
return 0;
}
如果把程式中的936改為437,則簡體中文不能正常輸出。