LINUX.ORG.RU

смена цвета текста в C


0

0

Короче говоря: написал прогу, выводящую набор текстовых символов, но хочется «раскрасить» вывод, чисто для красоты эстетической. Как это сделать и по каким правилам(синтаксис)? Заранее благодарен тем, кто реально поможет. Ну и код проги:

#include <stdio.h>
int main(){
printf("                ,        ,         \n               /(        )`        \n               \\ \\___   / |        \n               /- _  `-/  '        \n              (/\\/ \\ \\   /\\        \n              / /   | `    \\       \n              O O   ) /    |       \n              `-^--'`<     '       \n             (_.)  _  )   /        \n              `.___/`    /         \n                `-----' /          \n   <----.     __ / __   \\          \n   <----|====O)))==) \\) /====      \n   <----'    `--' `.__,' \\         \n                |        |         \n                 \\       /       /\\\n            ______( (_  / \\______/ \n          ,'  ,-----'   |          \n          `--{__________)          \n");
return 0;
}

★★★

Последнее исправление: Dorif (всего исправлений: 1)

#include <stdio.h> int main(){ printf(" , , \n /( )` \n \\ \\___ / | \n /- _ `-/ ' \n (/\\/ \\ \\ /\\ \n / / | ` \\ \n O O ) / | \n `-^--'`< ' \n (_.) _ ) / \n `.___/` / \n `-----' / \n <----. __ / __ \\ \n <----|====O)))==) \\) /==== \n <----' `--' `.__,' \\ \n | | \n \\ / /\\\n ______( (_ / \\______/ \n ,' ,-----' | \n `--{__________) \n"); return 0; }

ОМГФ...

Zhbert ★★★★★
()

О, лоркод, но один черт страшная штука...

Zhbert ★★★★★
()

По сабжу - в каком смысле «раскрасить вывод»? СДелать все буквы разноцветными чтоль?

Zhbert ★★★★★
()
Ответ на: комментарий от madgnu

Мне это в коде проги нужно сделать. Я научиться хочу.)

Dorif ★★★
() автор топика
Ответ на: комментарий от madcore

Как юзать? Линк на ман можно?

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

>А выводит всё это псевдографическое изображение Beastie.)))

Так и думал, что что-то выводит из псевдографики =)

Навскидку, что выдал гугль - http://linsovet.com/color-console http://www.linux-help.ru/?Utility_S.M.A.R.T._dlya_Linux--Perekrasim_konsolmz
Сам таким не занимался, так что не знаю =)

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Так мне не консоль в целом перекрашивать нужно.))) Мне только изображение раскрасить.)))

Dorif ★★★
() автор топика
Ответ на: комментарий от Zhbert

И есть ли способ обойтись стандартными средствами языка C? В инете я нашёл куеву тучу советов, как это сделать с помощьюа винапи и борландовского conio.h.. Но у меня нет абсолютно никакого желания связываться с проприетарным софтом.

Dorif ★★★
() автор топика
Ответ на: комментарий от edigaryev

Мне бы бумажную книжку.))) Или название оной, чтоб заказать можно было.)) Мне удобнее с бумаги читать просто.)

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

>
И есть ли способ обойтись стандартными средствами языка C?



Присоединяюсь к вопросу.

ShTH
()
Ответ на: комментарий от Zhbert

У меня струйник, картридж сдох, а новый стоит дорого(по крайней мере для меня и по крайней мере в Молдове).(((

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

Переразирую: пойти к другу + принтер + бумага + немного времеи + банка пива другу, профит? =)

В бумажном виде я не знаю где заказать/купить.

Zhbert ★★★★★
()
Ответ на: комментарий от Dorif

Text color output is not defined in ANSI C/C++. Instead the creators of the language left that to be operating system dependent. In Linux, to change text color you must issue what are known as terminal commands. To do this you just change your output statement to contain a terminal command.

http://www.linuxforums.org/forum/388-post2.html

edigaryev ★★★★★
()
#include <stdio.h>
#include <stdlib.h>

int
main ()
{

printf ("\e[41m" );

printf ( "HELLO !");

printf ("\e[0m" );

printf ( "\n" );


};
gamecoder
()
Ответ на: комментарий от edigaryev

О! То что надо! Спасибо! Да и вариант к другу с пивом хорош.))) Только у нас в Молдове принтеры в домах- редкость жуткая... Я- один из редких обладателей... Всё больше в офисах...

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

\33 или \e - это начало escape последовательности. Далее идёт символ '[', потом нужный код (там по таблице видно что нужно выбрать для изменения цвета или фона), завершается символом 'm'. Если нужно ввести несколько управляющих последовательностей, то можно сократить вида: код;код;код. Т.е. Например \e[31m установит красный цвет для символов не изменяя фона, а \e[32;44m установит цвет символов в зелёный (32), а фона - в синий (44). Код 0 сбрасывает установленные значения.

AlexKiriukha ★★★★
()

man setterm
google://ansi+escape+code

AITap ★★★★★
()
Ответ на: комментарий от AlexKiriukha

Уже врубился.)) Спасибо.))

Dorif ★★★
() автор топика

Итак, проблема решена с помощью ANSI escape ckde.)) Всем большое спасибо!)

Dorif ★★★
() автор топика
Ответ на: комментарий от Dorif

>С пивасиком в офис?))) Правильно?)

Ну типа того =)

Zhbert ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.