color printf with Bloodshed

Hi

I would like to printf with some color. I am using Bloodshed Software - Dev-C++, and I have seen some code online for coloring output, but nothing seems to work with bloodshed. At school, we use bloodshed so for now I want to learn to do thing on this software. Keep in mind that I am linux user, which means g++, gcc.

Following code I found online is working with linux, but it is not working with bloodshed. My teacher told me that bloodshed has some limitation, missing some features. Is there a very simple color code that will work with bloodshed?

All I want to do is color the output of printf("hello, world
");

Thanks in advance.

[code]
#include

#define RESET 0
#define BRIGHT 1
#define DIM 2
#define UNDERLINE 3
#define BLINK 4
#define REVERSE 7
#define HIDDEN 8

#define BLACK 0
#define RED 1
#define GREEN 2
#define YELLOW 3
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
#define WHITE 7

void textcolor(int attr, int fg, int bg);
int main()
{ textcolor(BRIGHT, RED, BLACK);
printf("In color
");
textcolor(RESET, WHITE, BLACK);
return 0;
}

void textcolor(int attr, int fg, int bg)
{ char command[13];

/* Command is the control command to the terminal */
sprintf(command, "%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40);
printf("%s", command);
}


[/code]


Comments

  • : Hi
    :
    : I would like to printf with some color. I am using Bloodshed
    : Software - Dev-C++, and I have seen some code online for coloring
    : output, but nothing seems to work with bloodshed. At school, we use
    : bloodshed so for now I want to learn to do thing on this software.
    : Keep in mind that I am linux user, which means g++, gcc.
    :
    : Following code I found online is working with linux, but it is not
    : working with bloodshed. My teacher told me that bloodshed has some
    : limitation, missing some features. Is there a very simple color code
    : that will work with bloodshed?
    :
    : All I want to do is color the output of printf("hello, world
    ");
    :
    : Thanks in advance.
    :
    : [code]:
    : #include
    :
    : #define RESET 0
    : #define BRIGHT 1
    : #define DIM 2
    : #define UNDERLINE 3
    : #define BLINK 4
    : #define REVERSE 7
    : #define HIDDEN 8
    :
    : #define BLACK 0
    : #define RED 1
    : #define GREEN 2
    : #define YELLOW 3
    : #define BLUE 4
    : #define MAGENTA 5
    : #define CYAN 6
    : #define WHITE 7
    :
    : void textcolor(int attr, int fg, int bg);
    : int main()
    : { textcolor(BRIGHT, RED, BLACK);
    : printf("In color
    ");
    : textcolor(RESET, WHITE, BLACK);
    : return 0;
    : }
    :
    : void textcolor(int attr, int fg, int bg)
    : { char command[13];
    :
    : /* Command is the control command to the terminal */
    : sprintf(command, "%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40);
    : printf("%s", command);
    : }
    :
    :
    : [/code]:
    :
    :
    :

    [color=Green][size=3][b]textcolor()[/b] is defined in the header file [b]conio.h[/b] which is non-portable (compiler specific). Turbo C/C++ has [b]conio.h[/b] as one of its header files but I'm not sure whether it is also included in Dev-C++.[/size][/color]
    [color=Black][size=3][code]
    #include

    int main()
    {
    int i;
    clrscr();

    for(i=0; i<=15; i++)
    {
    textcolor(i);
    cprintf("Hello World

    ");
    }

    return 0;
    }
    [/code][/size][/color]
  • : : Hi
    : :
    : : I would like to printf with some color. I am using Bloodshed
    : : Software - Dev-C++, and I have seen some code online for coloring
    : : output, but nothing seems to work with bloodshed. At school, we use
    : : bloodshed so for now I want to learn to do thing on this software.
    : : Keep in mind that I am linux user, which means g++, gcc.
    : :
    : : Following code I found online is working with linux, but it is not
    : : working with bloodshed. My teacher told me that bloodshed has some
    : : limitation, missing some features. Is there a very simple color code
    : : that will work with bloodshed?
    : :
    : : All I want to do is color the output of printf("hello, world
    ");
    : :
    : : Thanks in advance.
    : :
    : : [code]: :
    : : #include
    : :
    : : #define RESET 0
    : : #define BRIGHT 1
    : : #define DIM 2
    : : #define UNDERLINE 3
    : : #define BLINK 4
    : : #define REVERSE 7
    : : #define HIDDEN 8
    : :
    : : #define BLACK 0
    : : #define RED 1
    : : #define GREEN 2
    : : #define YELLOW 3
    : : #define BLUE 4
    : : #define MAGENTA 5
    : : #define CYAN 6
    : : #define WHITE 7
    : :
    : : void textcolor(int attr, int fg, int bg);
    : : int main()
    : : { textcolor(BRIGHT, RED, BLACK);
    : : printf("In color
    ");
    : : textcolor(RESET, WHITE, BLACK);
    : : return 0;
    : : }
    : :
    : : void textcolor(int attr, int fg, int bg)
    : : { char command[13];
    : :
    : : /* Command is the control command to the terminal */
    : : sprintf(command, "%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40);
    : : printf("%s", command);
    : : }
    : :
    : :
    : : [/code]: :
    : :
    : :
    : :
    :
    : [color=Green][size=3][b]textcolor()[/b] is defined in the header
    : file [b]conio.h[/b] which is non-portable (compiler specific). Turbo
    : C/C++ has [b]conio.h[/b] as one of its header files but I'm not sure
    : whether it is also included in Dev-C++.[/size][/color]
    : [color=Black][size=3][code]:
    : #include
    :
    : int main()
    : {
    : int i;
    : clrscr();
    :
    : for(i=0; i<=15; i++)
    : {
    : textcolor(i);
    : cprintf("Hello World

    ");
    : }
    :
    : return 0;
    : }
    : [/code]: [/size][/color]

    Hi

    It works in Linux, but not in Bloodshed 4.9.9.2.
  • You have to use the Win API function SetConsoleTextAttribute(). The Win API is so much better than non-standard conio, since the Win API is portable between Windows compilers.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories