linux gcc 4.4.1
I have the following fprintf statement and I would like to have the OK as green and the FAILED as red. Is this possible?
if(devh == -1) { fprintf(stderr, "Device [ FAILED ]\n"); } else { fprintf(stderr, "Device [ OK ]\n"); }
Many thanks for any suggestions,
The Printf module API details the type conversion flags, among them: %B: convert a boolean argument to the string true or false %b: convert a boolean argument (deprecated; do not use in new programs).
For example, if you wanted to print green text, you could do the following: #!/bin/bash # Set the color variable green='\033[0;32m' # Clear the color after that clear='\033[0m' printf "The script was executed ${green}successfully${clear}!"
I use to use the following macros to add color to terminal output.
#define RESET "\033[0m" #define BLACK "\033[30m" /* Black */ #define RED "\033[31m" /* Red */ #define GREEN "\033[32m" /* Green */ #define YELLOW "\033[33m" /* Yellow */ #define BLUE "\033[34m" /* Blue */ #define MAGENTA "\033[35m" /* Magenta */ #define CYAN "\033[36m" /* Cyan */ #define WHITE "\033[37m" /* White */ #define BOLDBLACK "\033[1m\033[30m" /* Bold Black */ #define BOLDRED "\033[1m\033[31m" /* Bold Red */ #define BOLDGREEN "\033[1m\033[32m" /* Bold Green */ #define BOLDYELLOW "\033[1m\033[33m" /* Bold Yellow */ #define BOLDBLUE "\033[1m\033[34m" /* Bold Blue */ #define BOLDMAGENTA "\033[1m\033[35m" /* Bold Magenta */ #define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */ #define BOLDWHITE "\033[1m\033[37m" /* Bold White */
...and use like
printf( GREEN "Here is some text\n" RESET );
Example of use Colored grep?
And for your example
if(devh == -1) { fprintf(stderr, "Device [ " RED "FAILED" RESET " ]\n"); } else { fprintf(stderr, "Device [ " GREEN "OK" RESET " ]\n"); }
You should probably use some library such as ncurses to handle terminal.
Alternatively, under Linux you could use some console escape sequences such as:
printf ("\033[32;1m OK \033[0m\n");
(in this case 32 stands for green), but it is neither portable nor elegant.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With