I'm writing command line utility for Linux. If the output (stdout) is going to a shell it would be nice to print some escapes to colorize output. But if the output is being redirected those bash escapes shouldn't be print, or the content might break parsers that rely on that output.
There are several programs that do this (suck as
ack) but the ones I found were written in Perl and I couldn't find out how they did it.
I wanted to use C/C++ to write my utility.