C++如何输出颜色的字符

用cout语句怎么控制具体的回答, 必定重赏财富!
2024-12-14 06:13:50
推荐回答(5个)
回答1:

#include
#include
using namespace std;

int main()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"Hello"< SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
cout<<"World"< return 0;
}

这个是别人写过的一段程序

关键就是windows.h库中的一些api函数

SetConsoleTextAttribute

设置控制台文本属性

GetStdHandle(STD_OUTPUT_HANDLE)

得到当前标准输出的句柄

上面两个就这样写

关键的是下面这个:

FOREGROUND_INTENSITY | FOREGROUND_RED

其实就是强度并上颜色

如果没有FOREGROUND_INTENSITY 只有 FOREGROUND_RED

那么颜色就偏暗

#define FOREGROUND_BLUE 0x0001 // text color contains blue.
#define FOREGROUND_GREEN 0x0002 // text color contains green.
#define FOREGROUND_RED 0x0004 // text color contains red.
#define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
#define BACKGROUND_BLUE 0x0010 // background color contains blue.
#define BACKGROUND_GREEN 0x0020 // background color contains green.
#define BACKGROUND_RED 0x0040 // background color contains red.
#define BACKGROUND_INTENSITY 0x0080 // background color is intensified.

这个是颜色参数

我看你图片里的几个颜色都能用这些参数拼出来

1.FOREGROUND_BLUE
2.FOREGROUND_GREEN
3.FOREGROUND_BLUE | FOREGROUND_GREEN
4.FOREGROUND_RED
5.FOREGROUND_BLUE | FOREGROUND_RED
.
..
.

10.FOREGROUND_INTENSITY | FOREGROUND_GREEN
11.FOREGROUND_INTENSITY | FOREGROUND_BLUE
12.FOREGROUND_INTENSITY | FOREGROUND_RED

中间的自己猜猜吧,就三原色的混合

回答2:

#include

#include

using
namespace
std;
int
main()
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY
|
FOREGROUND_RED);
cout<<"Hello"<SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY
|
FOREGROUND_RED
|
FOREGROUND_GREEN
|
FOREGROUND_BLUE);
cout<<"World"<return
0;
}
这个是别人写过的一段程序
关键就是windows.h库中的一些api函数
SetConsoleTextAttribute
设置控制台文本属性
GetStdHandle(STD_OUTPUT_HANDLE)
得到当前标准输出的句柄
上面两个就这样写
关键的是下面这个:
FOREGROUND_INTENSITY
|
FOREGROUND_RED
其实就是强度并上颜色
如果没有FOREGROUND_INTENSITY
只有
FOREGROUND_RED
那么颜色就偏暗
#define
FOREGROUND_BLUE
0x0001
//
text
color
contains
blue.
#define
FOREGROUND_GREEN
0x0002
//
text
color
contains
green.
#define
FOREGROUND_RED
0x0004
//
text
color
contains
red.
#define
FOREGROUND_INTENSITY
0x0008
//
text
color
is
intensified.
#define
BACKGROUND_BLUE
0x0010
//
background
color
contains
blue.
#define
BACKGROUND_GREEN
0x0020
//
background
color
contains
green.
#define
BACKGROUND_RED
0x0040
//
background
color
contains
red.
#define
BACKGROUND_INTENSITY
0x0080
//
background
color
is
intensified.
这个是颜色参数
我看你图片里的几个颜色都能用这些参数拼出来
1.FOREGROUND_BLUE
2.FOREGROUND_GREEN
3.FOREGROUND_BLUE
|
FOREGROUND_GREEN
4.FOREGROUND_RED
5.FOREGROUND_BLUE
|
FOREGROUND_RED
.
..
.
10.FOREGROUND_INTENSITY
|
FOREGROUND_GREEN
11.FOREGROUND_INTENSITY
|
FOREGROUND_BLUE
12.FOREGROUND_INTENSITY
|
FOREGROUND_RED
中间的自己猜猜吧,就三原色的混合

回答3:

运行成功后,对输出屏幕上部分蓝色边框点右键.选择属性,然后里面就可以调节背景及输出文字的颜色了.懂了吧,嘿嘿,别忘了加分哦

回答4:

Windows有一套Console的API, 不仅仅是颜色, 还有其它很多功能.

回答5:

这都行??