C++ 便携式基于文本的控制台操纵器

C++ 便携式基于文本的控制台操纵器,c++,c,console,terminal,C++,C,Console,Terminal,应用程序可以操作基于文本的控制台或终端,更改其颜色,设置光标位置。支持的方法有: 对于类Unix系统:有 对于Windows系统:有类似的API 但是,有没有轻量级的、可移植的C/C++库可以处理操作系统之间的颜色和光标差异?如果技术上不可能,除了尽最大努力,什么都不做 注意:我不是在寻找重型外部工具来模拟类unix终端(如Cygwin、MSYSRxVT等)。我认为使用Windows API和ANSI转义码可以实现简单的可移植性。而不是ncurses,因为它很重,并且有很多功能可以完全控制

应用程序可以操作基于文本的控制台或终端,更改其颜色,设置光标位置。支持的方法有:

  • 对于类Unix系统:有
  • 对于Windows系统:有类似的API
但是,有没有轻量级的、可移植的C/C++库可以处理操作系统之间的颜色和光标差异?如果技术上不可能,除了尽最大努力,什么都不做


注意:我不是在寻找重型外部工具来模拟类unix终端(如Cygwin、MSYSRxVT等)。我认为使用Windows API和ANSI转义码可以实现简单的可移植性。而不是ncurses,因为它很重,并且有很多功能可以完全控制控制台,我认为它需要仿真。

好的,我终于找到了一个便携且易于使用的库:

用法:

#include <iostream>
#include "rlutil.h"
int main()
{
    for (int i = 0; i < 16; i++)
    {
        rlutil::setColor(i);
        std::cout << i << " ";
    }
    std::cout << std::endl;
    return 0;
}
#包括
#包括“rlutil.h”
int main()
{
对于(int i=0;i<16;i++)
{
rlutil::setColor(i);

std::cout@Nim:它需要Windows终端仿真器-阅读我的更新question@MasoudM.:windows上有PDCurses(显然使用它)很好的发现。虽然我想知道我是否应该怀疑开发人员在其网站上对颜色选择的熟练程度!:)有人知道如何将颜色重置为默认颜色吗?一旦我更改它们,终端的默认颜色将变成我上次使用的任何颜色,并且在我尝试的任何终端上,没有任何颜色实际映射到默认颜色(
xterm
gnome终端
,以及受人尊敬的
cmd.exe
)很难向我的法律人员出示它的许可协议。:-)