21xrx.com
2024-09-19 09:46:44 Thursday
登录
文章检索 我的文章 写文章
如何在C++中控制输出颜色
2023-07-04 18:31:40 深夜i     --     --
C++ 控制 输出 颜色

C++是一门强大的编程语言,使用C++编写的程序可以在终端中输出各种信息。但是,如果你想在输出信息的过程中添加颜色,该怎么办呢?本文将为大家介绍如何在C++中控制输出颜色。

在C++中,我们可以使用操作系统提供的控制字符来控制输出颜色。Windows和Linux操作系统都支持在终端中控制输出颜色。

在Windows中,我们可以使用以下代码来设置输出颜色:


#include <windows.h>

#include <iostream>

int main()

{

  HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY);

  std::cout << "This text is red!" << std::endl;

  SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);

  std::cout << "This text is back to normal." << std::endl;

  return 0;

}

在上面的代码中,我们使用了Windows API中的`SetConsoleTextAttribute()`函数来设置输出颜色。`GetStdHandle(STD_OUTPUT_HANDLE)`函数获得标准输出句柄,然后将其传递给`SetConsoleTextAttribute()`函数中。`FOREGROUND_RED`和`FOREGROUND_INTENSITY`是Windows API中预定义的常量,可以在输出中设置红色和强度。

在Linux中,我们可以使用如下的代码:


#include <iostream>

int main()

{

  std::cout << "\033[1;31m" << "This text is red!" << "\033[0m" << std::endl;

  std::cout << "This text is back to normal." << std::endl;

  return 0;

}

在上面的代码中,我们使用了终端中的控制字符`\033[1;31m`和`\033[0m`来控制输出颜色。`\033[1;31m`意味着输出红色和强度,而`\033[0m`将颜色重置回正常值。

总结:

如此,在C++中控制输出颜色就变得非常简单了。在Windows中,我们需要使用Windows API来设置输出颜色,在Linux中可以使用终端中的控制字符来控制颜色。这些技术都是很简单的,但是它们可以帮助你在输出信息的过程中提供更好的可读性和视觉效果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复