C++
 Computer >> コンピューター >  >> プログラミング >> C++

Linuxターミナルで色付きテキストを出力する方法を解説

Linuxターミナルで色付きテキストを出力する方法

Linuxターミナルに色付きのテキストを出力する方法を解説します。C++のコードに特別なライブラリや複雑な処理を追加する必要はありません。「ANSIエスケープシーケンス」と呼ばれるターミナル制御用の特殊文字列を利用するだけで、文字色・背景色・太字などの装飾を自由に設定できます。

基本の書式

色付きテキストの出力には、次のような形式を使用します。

\033[1;31m Sample Text \033[0m

各部分の意味は以下のとおりです。

  • \033:ESC文字(8進数の27)。エスケープシーケンスの開始を示します
  • [1;31:スタイルと色の指定(1=太字、31=赤の前景色)
  • m:SGR(Select Graphic Rendition)コマンドの終端記号
  • \033[0m:スタイルをリセットして通常表示に戻すコード

色コード一覧

テキストのスタイルや色には、それぞれ専用のコードが割り当てられています。主な色コードは次のとおりです。

前景色コード背景色コード
黒(Black)3040
赤(Red)3141
緑(Green)3242
黄(Yellow)3343
青(Blue)3444
マゼンタ(Magenta)3545
シアン(Cyan)3646
白(White)3747

その他のスタイルオプション

色以外にも、以下のような装飾オプションが利用できます。

オプションコード説明
リセット(Reset)0通常表示に戻す(すべてのスタイルを解除)
太字(Bold)1テキストを太字にする
下線(Underline)4テキストに下線を付ける
反転(Inverse)7前景色と背景色を入れ替える
太字解除21太字を解除して通常に戻す
下線解除24下線を解除して通常に戻す
反転解除27反転表示を解除する

C++での実装例

実際にC++のコードで色付きテキストを出力する例を見てみましょう。

#include<iostream>
using namespace std;
main() {
    cout << "\033[1;31mThis is bold red text\033[0m\n";
    cout << "\033[;32mGreen Text\033[0m\n";
    cout << "\033[4;33mYellow underlined text\033[0m\n";
    cout << "\033[;34mBlue text\033[0m\n";
}

このコードを実行すると、ターミナルには以下のように表示されます。

  • 1行目:太字の赤いテキスト
  • 2行目:緑色のテキスト
  • 3行目:下線付きの黄色いテキスト
  • 4行目:青色のテキスト

このように、文字列の前に「\033[スタイル;色m」を付け、最後に「\033[0m」でリセットするだけで、ターミナル上に簡単に色付きテキストを表示できます。ログの強調表示やCLIツールの可読性向上など、さまざまな場面で活用できるテクニックなので、ぜひ覚えておきましょう。

  1. 【Linux】ドロップダウンターミナル「Guake」の使い方とカスタマイズ徹底解説

    長年にわたり、Linuxのターミナルはほとんど変わってきませんでした。コマンドを入力するウィンドウに、修正や改善すべき点は多くない――少なくとも理論上はそう考えられていたからです。しかしGuakeは、その常識を見事に覆し、ターミナルを21世紀へ、そして指先へと引き寄せます。豊富な設定項目と機能により、「コマンドを入力する仮想空間」をマルチタスク対応の強力なツールへと変貌させるのです。今回は、コンピュータとの付き合い方を一段階アップグレードするために、Guakeの設定に少し時間を投資する価値がある理由を見ていきましょう。より良いターミナルへのアップグレードGuakeは同種のアプリケーションの中で

  2. Linuxターミナルを電卓として使う方法【bc・calc・qalc徹底解説】

    派手なGUIアプリよりも、Linuxターミナルのシンプルさが好きという方は多いのではないでしょうか。ちょっとした計算をしたいときに、わざわざ電卓アプリを立ち上げる必要はありません。すでにシステムにインストールされている(はずの)ツールを使えば、ターミナル上でそのまま計算ができます。 この記事では、ディストリビューションを問わず使える、Linuxターミナルを電卓として活用する方法を詳しく解説します。 GNU bcで計算する bcは「basic calculator(基本電卓)」の略です。bcプログラム自体は1970年代のUnixに起源を持つ由緒あるツールで、GNU bcはその現代的で機能強化さ