让控制台漂亮一点

发个老外写的操作控制台背景颜色的头文件
  1. // ConsoleColor.h
  2. #pragma once
  3. #include <iostream>
  4. #include <windows.h>
  5. inline std::ostream& blue(std::ostream &s)
  6. {
  7.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
  8.     SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
  9.               |FOREGROUND_GREEN|FOREGROUND_INTENSITY);
  10.     return s;
  11. }
  12. inline std::ostream& red(std::ostream &s)
  13. {
  14.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
  15.     SetConsoleTextAttribute(hStdout, 
  16.                 FOREGROUND_RED|FOREGROUND_INTENSITY);
  17.     return s;
  18. }
  19. inline std::ostream& green(std::ostream &s)
  20. {
  21.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
  22.     SetConsoleTextAttribute(hStdout, 
  23.               FOREGROUND_GREEN|FOREGROUND_INTENSITY);
  24.     return s;
  25. }
  26. inline std::ostream& yellow(std::ostream &s)
  27. {
  28.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
  29.     SetConsoleTextAttribute(hStdout, 
  30.          FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
  31.     return s;
  32. }
  33. inline std::ostream& white(std::ostream &s)
  34. {
  35.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
  36.     SetConsoleTextAttribute(hStdout, 
  37.        FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
  38.     return s;
  39. }
  40. struct color {
  41.     color(WORD attribute):m_color(attribute){};
  42.     WORD m_color;
  43. };
  44. template <class _Elem, class _Traits>
  45. std::basic_ostream<_Elem,_Traits>& 
  46.       operator<<(std::basic_ostream<_Elem,_Traits>& i, color& c)
  47. {
  48.     HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE); 
  49.     SetConsoleTextAttribute(hStdout,c.m_color);
  50.     return i;
  51. }
测试代码:
  1. #include<iostream> 
  2. #include"ConsoleColor.h"
  3. using namespace std; 
  4. int main()
  5. {
  6. cout << green << "This text is written in green" 
  7.           << white << std::endl;
  8. cout << color(FOREGROUND_RED|FOREGROUND_GREEN) 
  9.           << "This text has a really exiting color !" 
  10.           << white << std::endl;
  11. return 0;
  12. }

另外也可以运用system函数加dos命令来改变控制台的情况,如:
  1. system("title name");
  2. system("color 2f");
  3. system("...");
纯属娱乐
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值