C++创建更改控制台颜色函数
C++ creating a change console colors function
cout << "Picks your colors..." << endl << "0 = blackt 1 = bluet 2 = pea greent 3 = tealt 4 = red" << endl;
cout << "5 = purplet 6 = green/brownt 7 = light greyt 8 = gark grey" << endl;
cout << "9 = lisghter brighter bluet A = lime greent B = light blue/aqua-isht C = red/orange" << endl;
cout << "D = pink/roset E = yellow" << endl;
char bg;
char fg;
cout << "Pick your foreground:t";
cin >> fg;
cout << "Pick your background:t";
cin >> bg;
string colors;
colors = "0x",bg,fg;
SetConsoleTextAttribute( hstdout, colors );
这将是一个允许用户输入更改控制台颜色的功能。我知道这适用于Windows,但我不确定它在Linux机器上会做什么。不幸的是,我不知道如何组成字符串颜色,包括进入控制台属性函数的字符串中的字符。使用此方法,我收到此错误...
错误:无法将参数
'2'
的'std::string'
转换为'BOOL SetConsoleTextAttribute(void*, WORD)'
的'WORD'
有什么想法吗?有什么更好的方法可以更改颜色吗?我知道Windows系统调用,但我认为这可能适用于Linux,也可能不适用于Linux。也许我可以进行两个不同的调用,一个用于 linux,但这听起来太复杂了,我不知道如何让程序区分。
如前所述,该函数采用 WORD 值。实质上,背景色和前景色定义了红色、绿色和蓝色值的常量,可以混合在一起以创建其他颜色。此站点的代码示例段:
http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles4.html
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hOut,
BACKGROUND_GREEN |
BACKGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_BLUE |
FOREGROUND_INTENSITY);
cout << "Intense Cyan on yellow background." << endl;
return 0;
}
该网站还列出了一些可以使用的其他组合。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么 STL 函数使用节点的颜色来计算 std::map 节点前身
- 如何在视觉工作室 2012年设置函数输入参数的颜色
- 如何在 2d 颜色选取器中创建返回 2 种颜色之间的颜色的函数
- C++函数系统(命令)的输出在Linux终端中不显示颜色
- 为什么我的 RGB 转十六进制函数在传递颜色分量时返回 0
- 如何更改 10 的颜色 通过 c++ 构建器中的单个函数编辑控件
- Opencv 2.3 cvt颜色函数
- OpenGL -调用不同颜色的平方函数
- 我如何在'opencv'函数,当我构建隐藏窗口(在后台运行)时获得像素的颜色
- C++创建更改控制台颜色函数