Portable text based console manipulator(便携式基于文本的控制台操纵器)
问题描述
应用程序可以操作基于文本的控制台或终端,并更改它们的颜色、设置光标位置.支持的方法是:
Applications can manipulate text based consoles or terminals, and change their colors, set cursor position. The supported approaches are:
- 对于类 Unix 系统: 有
ANSI 转义码. - 对于 Windows 系统:有像
SetConsoleTextAttribute. - ...
但是,是否有任何轻量级和可移植的 C/C++ 库可以处理操作系统之间的差异,仅针对颜色和光标?并且如果技术上不可能但尽最大努力什么都不做.
but, is there any lightweight and portable C/C++ library which handles differences between operating systems just for colors and cursor? and do nothing if it was technically impossible but best effort.
注意:我不是在寻找大量的外部工具来模拟类 Unix 终端(如 Cygwin、Msys-rxvt 等).我认为使用 Windows API 和 ANSI 转义码可以实现简单的可移植性. 而不是 ncurses,因为它很重,并且有很多功能可以完全控制控制台,我认为它需要模拟.>
推荐答案
好吧,我终于找到了一个可移植且易于使用的库:rlutil.h
Alright, i finally found a portable and easy to use library: 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;
}
但是,我很乐意提供其他建议.
这篇关于便携式基于文本的控制台操纵器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:便携式基于文本的控制台操纵器
基础教程推荐
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- c++ STL设置差异 2022-01-01
- 提升 ASIO 流缓冲 2021-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
