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

Posted

技术标签:

【中文标题】便携式基于文本的控制台操纵器【英文标题】:Portable text based console manipulator 【发布时间】:2011-12-14 03:27:17 【问题描述】:

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

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

但是,是否有任何轻量级和可移植的 C/C++ 库仅处理操作系统之间的颜色和光标差异?如果技术上不可能,但尽力而为,则什么也不做。

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

【问题讨论】:

@Nim:它需要 Windows 终端模拟器 - 阅读我更新的问题 @MasoudM.: windows 上有 PDCurses(MonoCurses 显然使用它) 【参考方案1】:

好吧,我终于找到了一个便携易用的库: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;

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

【讨论】:

很好的发现。虽然我不知道我是否应该怀疑开发人员在他的网站上选择颜色的熟练程度! :) 有谁知道如何将颜色重置为默认值?一旦我更改它们,终端的默认颜色就会变成我最后使用的任何颜色,并且在我尝试过的任何终端(xtermgnome-terminal 和可敬的cmd.exe)上,实际上没有颜色映射到默认颜色 很难将它的许可协议呈现给我的法律人员。 :-)

以上是关于便携式基于文本的控制台操纵器的主要内容,如果未能解决你的问题,请参考以下文章

用于分析结果的基于文本的查看器

基于eMMC芯片技术特点工作原理以及控制器的设计方案

标准输出设备

UNIX空气刘海神器!便携式直卷两用卷发棒

舵机控制原理

基于OMAP-L138的便携式设备状态监测与诊断仪设计