c++ - XCode windows.h 和显示彩色文本

标签 c++ xcode html colors

在 html5 中,你可以通过这样做来制作彩色文本:

.foo
{
    color: rgb(0,0,0);
}

我最近开始使用 C++,想向用户显示彩色文本。我用谷歌搜索了这个并想出了这样的东西:

http://www.cplusplus.com/forum/beginner/5830/

Duoas 的代码片段(如下所示)看起来很有趣,我尝试在 XCode 上运行它。

#include <iostream>
#include <windows.h>

int main()
{
    const WORD colors[] =
        {
        0x1A, 0x2B, 0x3C, 0x4D, 0x5E, 0x6F,
        0xA1, 0xB2, 0xC3, 0xD4, 0xE5, 0xF6
        };

    HANDLE hstdin  = GetStdHandle( STD_INPUT_HANDLE  );
    HANDLE hstdout = GetStdHandle( STD_OUTPUT_HANDLE );
    WORD index   = 0;

    // Remember how things were when we started
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    GetConsoleScreenBufferInfo( hstdout, &csbi );

    // Tell the user how to stop
    SetConsoleTextAttribute( hstdout, 0xEC );
    std::cout << "Press any key to quit.\n";

    // Draw pretty colors until the user presses any key
    while (WaitForSingleObject( hstdin, 100 ) == WAIT_TIMEOUT)
    {
        SetConsoleTextAttribute( hstdout, colors[ index ] );
        std::cout << "\t\t\t\t Hello World \t\t\t\t" << std::endl;
        if (++index > sizeof(colors)/sizeof(colors[0]))
            index = 0;
    }
    FlushConsoleInputBuffer( hstdin );

    // Keep users happy
    SetConsoleTextAttribute( hstdout, csbi.wAttributes );
    return 0;
}

但是,我得到的错误是

2:21: fatal error: windows.h: No such file or directory
compilation terminated.

所以这是我的问题: XCode 中是否有 windows.h 的替代方案? 如果没有,您如何向控制台显示颜色?

(注意:我正在尝试让我的 hello world 程序以另一种颜色显示 hello world,而不是黑色)

感谢任何帮助。 谢谢!

编辑: 好的,感谢 duskwuff 的回答,我知道 windows.h 只能在 Windows 上运行。我有一台 PC,但它没有在我当前使用的编译器上运行。我可以使用什么编译器来运行代码示例?

最佳答案

您尝试使用的示例代码高度特定于 Windows 控制台,在 macOS 中没有直接的等效代码。

Xcode 控制台不支持颜色。

如果您在 macOS 终端(而不是 Xcode 控制台)中运行您的应用程序,您可以 use ncurses to display colors .或者,you can use color code escapes directly .

关于c++ - XCode windows.h 和显示彩色文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40965256/

相关文章:

objective-c - Xcode 应用卡在横向模式

ios - 切换相机后音频/视频不同步

ios - 我想放置具有不同标签文本颜色的选框标签

javascript - 获取输入值并重定向

javascript - 从 PNG 像谷歌地图一样创建 map

html - Bootstrap 导航选项卡的内容未显示

c++ - c++ 中 java 的完整代码

c++ - "explicit"和 "implicit"调用operator()的区别

c++ - 如何实现文件下载的暂停和恢复功能?

c++ - 将 boost::asio::ip::address_v4 隐藏为字符串