2011-10-24 112 views
21

应用程序可以处理基于文本控制台或终端,而改变自己的颜色,设置光标位置,...便携式基于文本的控制台操纵

支持的方法是:

但是,是有它处理只是颜色和光标操作系统之间的差异的任何轻巧便携的C/C++库?做什么,如果它在技术上是不可能的,但尽力而为

注:我不是在寻找沉重的工具来模拟类Unix终端(如Cygwin的,MSYS-的rxvt,...)。我认为使用Windows API和ANSI转义代码可以实现简单的可移植性。
而不是ncurses的,因为它是沉重的,有许多功能,以完全控制主机,我认为这需要仿真

注(2):我早和丑陋的努力是一个Console库窗户的VC++ 6,但它不便携...你可以看到它here

+4

google:ncurses。 – Nim

+1

@Nim:它需要终端模拟器的Windows - 阅读我更新的问题 – deepmax

+2

@MasoudM .:窗口上有(* [MonoCurses](http://www.mono-project.com/Libraries#Curses)**)显然使用它) – sehe

回答

25

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

用法:

#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; 
} 

但是,我会很高兴为其他建议。

+11

好找。尽管我不知道我是否应该怀疑开发者在他的网站上对他的颜色选择的熟练程度! :) – Scott

+0

有谁知道如何重置颜色默认?一旦我改变它们,终端的默认颜色就变成我最后使用的任何颜色,并且没有颜色实际上映射到我尝试过的任何终端上的默认颜色('xterm','gnome-terminal'和古老的'cmd.exe' ) – Thomas

+0

很难向我的法人提交许可协议。 :-) – Jamie