colors in XP-console with C
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
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
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;}
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]
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]
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
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*
*slinks away*
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement