Sign in to follow this  
SnAkE

colors in XP-console with C

Recommended Posts

SnAkE    122
Hi there, I am just writing a few small C programs for my university in C and asked myself if it was possible to color the text I am printing to the screen?! I tried the known escape-sequences of printf, but the do not have any effect... So do you know if it ist possible? Thanx, snAKe

Share this post


Link to post
Share on other sites
SumDude    163
http://msdn.microsoft.com/library/en-us/dllproc/base/consoles.asp

You need to make a handle to the console and then use that to change the color

 
void main()
{
HANDLE console;

//Make a new handle to the output handle
console = GetStdHandle(STD_OUTPUT_HANDLE);

//Set the text attributes
SetConsoleTextAttribute(console, FOREGROUND_GREEN);

//output info
cout << "Hey" << endl;
//Free the console handle
FreeConsole();

return 0;
}


Share this post


Link to post
Share on other sites
Zipster    2359
That would work, except for the fact that he said he's using C (so cout wouldn't fly) and we don't know if he can access the Windows API, or if he's even developing these programs under Windows.

As far as I know, the escape sequences only work when ANSI.SYS is loaded. In the old days this was as easy as adding it to config.sys, but nowadays you'd probably have to go spelunking through 'msconfig' to change things. I don't know how to load device drivers under Linux [sad]

The other traditional methods for working with the display in C were using BIOS interrupts and DMA. However you won't get too far calling interrupts, and it's unlikely you'll get direct access to the console buffer memory. So I'd say to stick with the escape sequences and see how they work for you.

EDIT: And it looks like I win the post race [grin]

Share this post


Link to post
Share on other sites
Oluseyi    2103
Quote:
Original post by Zipster
...we don't know if he can access the Windows API, or if he's even developing these programs under Windows.
Quote:
Thread title
colors in XP-console with C

Share this post


Link to post
Share on other sites
Zipster    2359
Oh. Well I guess it sometimes pays to pay attention to the original subject line when you reply [smile] But I'm still faster... and the escape sequences are more portible so mweh!

*slinks away*

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this