Выделение текста в выводе консоли - PullRequest
0 голосов
/ 08 апреля 2011

Для дополнительного кредита, профессор хочет, чтобы мы использовали жирный шрифт и / или подчеркивание для вывода текста в текущем проекте.

Пример, который он привел, был b\bb o\bo l\bl d\bd, отображается как полужирный

Следуя этому примеру, я пометил SPACE как
printf("\033[7mS\bSP\bPA\bAC\bCE\E- move forward one page\033[0m");

Я также реализую обратное видео, заключая строки в поля \033[7m и \033[0m.Обратное видео соответствующим образом инвертирует цвета линии, но, похоже, не влияет на выделение жирным шрифтом, поскольку обе строки с и без обратного видео не выделяются жирным шрифтом.

Может ли это быть стандартная оболочка, используемая в Ubuntu10.10 что виновато?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Я согласен с использованием проклятий, но учитывая вашу отправную точку ....

Я думаю, что вы хотите использовать «яркую» функцию VT100 для жирного, ESC[1m

Возможно, вы найдете лучший документ по кодам VT100, но, используя эту страницу, я нашел коды. Коды выхода ANSI / VT100

Надеюсь, это поможет.

0 голосов
/ 08 апреля 2011

Если вы просто не пытаетесь быть мазохистом, попробуйте вместо этого использовать проклятия (или 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); 
...