关于使用Windows API输出带颜色的字符
  • 板块学术版
  • 楼主JoeBiden2020
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/8/27 22:49
  • 上次更新2023/11/4 08:46:03
查看原帖
关于使用Windows API输出带颜色的字符
432183
JoeBiden2020楼主2021/8/27 22:49

我之前写小游戏,要输出一副画面,由于我采用了cout,输出速度很不理想.

另外一边,因为这个画面有颜色,用到了下面这个API:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);

我为了提升输出速度,加入了ios::sync_with_stdio(false)

但是,加入了之后,颜色不能正常输出,但是字符可以正常输出.这令我百思不得其解,请问为什么关闭同步流会使得API失效?

另外,同样使用它输出带颜色的字符,当持续输出大量字符的时候,颜色也会失效,只剩下蓝色,灰色,黑色,白色.继续输出,会有时正常,有时异常,且切换频率越来越快.由于我使用了endl换行,显然不是缓冲区的问题.

这又是为什么呢?

2021/8/27 22:49
加载中...