This is a small cross-platform static C library to bring colors in the console. In posix-compatible systems, it uses ANSI color formatting and Console API in Windows.
Provide path to libdye header and library for your project and then you can use it:
#include <stdio.h>
#include <stdlib.h>
#include "dye.h" // libdye header
int main(int argc, char** argv)
{
// Change foreground and background color
dye(stdout, DYE_WHITE, DYE_NAVYBLUE);
printf("White text on blue background\n");
// Change only foreground color
dyefg(stdout, DYE_YELLOW);
printf("Yellow text on blue background\n");
// Change only background color
dyebg(stdout, DYE_GREEN)
printf("Yellow text on green background\n");
// Reset all colors to default
dye(stdout, DYE_RESET, DYE_RESET);
return EXIT_SUCCESS;
}Library depends only on C standart library, unistd.h header on Unix, windows.h and io.h on Windows.
On Unix run:
$ makeOn Windows run:
$ nmake -f Makefile.nmakeAs a result, the release and debug versions of the library will be created in the build directory with the corresponding subdirectories.
| Color | Code |
|---|---|
| DYE_RESET | -1 |
| DYE_BLACK | 0 |
| DYE_NAVYBLUE | 1 |
| DYE_GREEN | 2 |
| DYE_CYAN | 3 |
| DYE_MAROON | 4 |
| DYE_PURPLE | 5 |
| DYE_OLIVE | 6 |
| DYE_SILVER | 7 |
| DYE_GREY | 8 |
| DYE_GRAY | 8 |
| DYE_BLUE | 9 |
| DYE_LIME | 10 |
| DYE_TEAL | 11 |
| DYE_RED | 12 |
| DYE_MAGENTA | 13 |
| DYE_YELLOW | 14 |
| DYE_WHITE | 15 |
MIT license, copyright (c) Kuznetsov Aleksey