2016-02-13 85 views

回答

7

您可以使用SetCurrentConsoleFontEx更改字體大小。
下面是一個小例子,你可以玩的,請確保您#include <cwchar>#include <windows.h>

CONSOLE_FONT_INFOEX cfi; 
cfi.cbSize = sizeof(cfi); 
cfi.nFont = 0; 
cfi.dwFontSize.X = 0;     // Width of each character in the font 
cfi.dwFontSize.Y = 24;     // Height 
cfi.FontFamily = FF_DONTCARE; 
cfi.FontWeight = FW_NORMAL; 
std::wcscpy(cfi.FaceName, L"Consolas"); // Choose your font 
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi); 

std::cout << "Font: Consolas, Size: 24\n"; 

如果選擇宋體或其他人,你可能不得不給它一個字體大小寬度。欲瞭解更多information


system()調用和使用Windows.h之間的區別是,system()電話是沉重的資源和不安全。更多信息here.

+0

*「如果您選擇Arial或其他」* - 哪些? *「[...]您可能必須給它一個字體大小寬度。」* - 在什麼條件下? – IInspectable

+0

也許值得注意的是'SetCurrentConsoleFontEx'需要Vista或更高版本(_WIN32_WINNT> = 0x0500)。另外,關於'cfi.nFont = 0;'如何工作(「* nFont =系統控制檯字體表中的字體索引*」),文檔並不清楚。 – dxiv

+0

有什麼機會你知道如何在Ubuntu上做到這一點? – serup