控制台输出中的粗体文本

时间:2011-04-07 23:04:02

标签: c unix text-formatting

为了额外的功劳,教授希望我们在当前项目中使用粗体和/或下划线来输出文本。

他给出的示例b\bb o\bo l\bl d\bd显示为 b o l d

在该示例之后,我将SPACE标记为
printf("\033[7mS\bSP\bPA\bAC\bCE\E- move forward one page\033[0m");

我还通过将字符串括在\033[7m\033[0m字段中来实现反向视频。反向视频适当地反转了线条的颜色,但似乎没有影响粗体,因为带有和不带反向视频的两个字符串都不是粗体。

可能是Ubuntu 10.10中使用的标准shell有问题吗?

2 个答案:

答案 0 :(得分:2)

我同意使用诅咒,但考虑到你的出发点......

我认为您想使用VT100的“明亮”功能作为粗体ESC[1m

您可以在VT100代码上找到更好的文档,但是使用此页面我找到了代码。 ANSI/VT100 Escape Codes

我希望这会有所帮助。

答案 1 :(得分:0)

除非你只是想要自虐,否则请尝试使用curses(或ncurses)。

// warning: Going from distant memory here...
curs_attron(A_INVERSE); // maybe A_REVERSE? I don't remember for sure.
curs_addstr("SPACE - move forward one page");
curs_attroff(A_INVERSE);