首页 > 解决方案 > 有没有办法知道c中终端的背景颜色?

问题描述

我正在创建 ac 程序,该程序使用 ANSI 转义序列参数为某些文本着色,例如printf("\e[38;2;r;g;bm");在 Ubuntu 中;问题是,如果控制台的背景与前景匹配,文本就会变得不可见。如果我在白色背景中以黑色打印文本,它是完全可见的,但是当相同的代码在黑色背景上运行时,文本是不可见的。

所以我的计划是在运行时获取终端背景颜色并相应地选择文本颜色。

有没有办法在c中获取终端的背景颜色?

标签: clinuxgccterminalansi-escape

解决方案


ncurses库将窗口和终端数据保存在自己的缓冲区中。如果你使用这个库,你可以读取字符及其属性。使用函数 inch或类似的


推荐阅读