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

应用程序可以操作基于文本的控制台或终端,并更改其颜色,设置光标位置,…

支持的方法是:

  • 对于类Unix系统:ANSI escape code
  • 对于Windows系统:有像SetConsoleTextAttribute这样的API。

但是, 有没有轻量级和可移植的C / C ++库来处理颜色和光标的操作系统之间的差异? 如果技术上不可能,那就尽一切努力

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

注意(2):我早期和丑陋的努力是一个用VC ++ 6编写的Windows Console库,但它不可移植……你可以在这里看到它。

好吧,我终于找到了一个便携易用的库: rlutil.h

用法:

 #include  #include "rlutil.h" int main() { for (int i = 0; i < 16; i++) { rlutil::setColor(i); std::cout << i << " "; } std::cout << std::endl; return 0; } 

但是,我很乐意提出其他建议。