Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
====== std::cout の出力に色をつけたい ====== ---- c++の機能で実現するのではなく、ターミナル(コンソール)にエスケープシーケンスを送りつけて実現する。 エスケープ文字は"\033"(8進数表示)または"\x1b"(16進数表示)で表されるものである。 std::cout << "\033[31m aho \033[m" << std::endl; のようにすると aho が赤文字になる。 最後の"\033[m" は指定の解除。 実はコンソールのSGR(Select Graphic Rendition)コマンドというものらしい。 文法的には "ESC[○○m"というような形でグラフィック系の指定を行う。\\ ○○の部分が、例えば30番台は文字色が 30:black, 31:red, 32:green, 33:yellow, 34:blue, 35:magenta, 36:cyan, 37:white となる。\\ 40番台は背景色が同様に変わる。 その他、 * "\033[0m" : 指定リセット (= "\033[m") * "\033[1m" : 太字 * "\033[2m" : 文字を薄く表示 * "\033[3m" : イタリック * "\033[4m" : 下線 * "\033[5m" : 点滅 * "\033[6m" : 点滅(高速) * "\033[7m" : 文字色-背景 入れ替え * "\033[8m" : 表示を隠す * "\033[9m" : 取り消し などがある。 複数組み合わせは";" で区切って、例えば"\033[1;4;31;42m" だと 太字-下線-赤文字-緑背景 とできる。