WriteConsoleOutput(二)

来源:互联网 发布:和文化精髓知乎 编辑:程序博客网 时间:2024/05/22 06:51

如何在控制台输出有颜色的字符?

 一:显示效果:


二:代码

#include <stdio.h>#include <windows.h>using namespace std;void main(){HANDLE hConsoleOutput =GetStdHandle(STD_OUTPUT_HANDLE);//获取控制台输入句柄CHAR_INFO CharInfo;int i = 0 ,j = 0;CHAR_INFO charInfoAarray[80*25];COORD dwBufferSize = { 80, 25 };//固定值(控制台窗口固定的属性值)COORD dwBufferCoord = { 0, 0 };//缓冲区左上角的起始位置(即控制台左上角的第一个字符)SMALL_RECT rect = { 0, 0, 0, 0 };//显示多大的缓冲区: 大小是一个矩形(该矩形大小只有一个字符大小)CharInfo.Attributes = FOREGROUND_RED | BACKGROUND_GREEN;//前景色为红色,背景色为绿色CharInfo.Char.AsciiChar = 'H';//输出的字符charInfoAarray[0] = CharInfo;WriteConsoleOutput(hConsoleOutput, charInfoAarray, dwBufferSize, dwBufferCoord, &rect);getchar();}


三 常见问题:

1 为什么同样的代码我的vs里显示不出来字符'H'?

 这和vs 工程字符集的设置有关,应该依据下图设置.(将字符集设成使用多字节字符集




0 0
原创粉丝点击