printf の一部のテキストを緑と赤で表示する



Linux gcc 4.4.1


次の fprintf ステートメントがあり、OK を緑、FAILED を赤にしたいと考えています。これは可能ですか?


if(devh == -1)
{
fprintf(stderr, "Device [ FAILED ]\n");
}
else
{
fprintf(stderr, "Device [ OK ]\n");
}

提案に感謝します。


答え:


端末を処理するには、おそらく ncurses などのライブラリを使用する必要があります。


別の方法として、Linux では次のようなコンソール エスケープ シーケンスを使用できます。


printf ("\033[32;1m OK \033[0m\n");

(この場合、32 は緑を表します)、携帯性もエレガントさもありません。