Ncurses C++ 打印文本 foreground/background 颜色交换

Ncurses C++ print text with foreground/background colors swapped

我希望能够打印 foreground/background 颜色交换的文本,例如 nano 中的顶部栏。但我想使用默认的终端颜色。我已经在打电话 use_default_colors()。调用 pair_content(0, &c1, &c2) 只会给我 c1=-1, c2=-1,所以我没有任何值可以传递给 init_pair(),因为 -1 表示默认前景和背景颜色。我怎样才能将这些颜色换成另一个颜色对,或者我怎样才能获得默认的 foreground/background 颜色 rgb 值,以便我可以将一些颜色重新初始化为默认的终端前景和背景颜色?

简短:颜色对不会那样做。

更长:您可以应用反向视频属性 A_REVERSE,但它不是颜色。它像颜色对一样容易传递。