📜  printf blue color (1)

📅  最后修改于: 2023-12-03 15:33:47.797000             🧑  作者: Mango

主题:使用 printf 函数在控制台输出蓝色文本

在编写程序时,有时需要以其他颜色高亮显示文本。本文将介绍如何使用 printf 函数输出蓝色文本。

1. 使用 ANSI Escape Code

在控制台输出蓝色文本最简单的方法是使用 ANSI Escape Code。 ANSI(美国国家标准化协会)是一个非营利组织,创建了一组可在控制台上使用的控制字符。其中之一是用于改变文本颜色的 ESC (Escape)字符。

在大多数 Unix / Linux 终端和 Windows 控制台中,可以使用以下 ANSI Escape Code 来输出蓝色文本:

printf("\033[0;34m Blue color \033[0m\n");

上面的代码中,\033[0;34m 表示将以下文本颜色更改为蓝色,\033[0m 表示将颜色更改为默认颜色。

请注意,该代码仅在支持 ANSI Escape Code 的终端中运行。

2. 使用 Windows API

在 Windows 系统中,可以使用 Windows API 函数来设置控制台文本颜色。以下代码将文本颜色更改为蓝色:

#include <windows.h>
#include <stdio.h>

int main() {
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
    printf(" Blue color \n");
    SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    return 0;
}

上面的代码中,GetStdHandle 函数打开了一个句柄来访问标准输出流,并通过 SetConsoleTextAttribute 函数将文本颜色更改为蓝色。其次,将颜色再次更改为默认颜色。

结论

本文介绍了两种在控制台输出蓝色文本的方法。用 ANSI Escape Code 更简单,但仅限于其他 ANSI Escape Code 终端,而使用 Windows API 则可在 Windows 系统上运行。


返回的代码片段:

```c
printf("\033[0;34m Blue color \033[0m\n");
#include <windows.h>
#include <stdio.h>

int main() {
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
    printf(" Blue color \n");
    SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    return 0;
}