0

以下に説明するノードのリンクリストがあります。

class ColorGr
{
    string word;
    string color;
    ColorGr *next;
}

文字列があり、その中の「単語」を検索して「色」で色付けしたいと考えています。

それを行うためにncursesを試しましたが、問題はWindowsの使用にあります。画面をリフレッシュしたくありません。

関数のように文字列を出力に出力したいcout。私のコードは C++ 言語で書かれており、Linux で gcc を使用しています。これを行う最良の方法は何ですか?

4

2 に答える 2

2

Windows では、コンソール API を使用して色を操作できます。

  DWORD dummy = 0;
  const WORD color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE; // gray
  HANDLE console = ::GetStdHandle (STD_OUTPUT_HANDLE);
  SetConsoleTextAttribute (console, color);
  WriteConsoleA (console, msg.data (), msg.length (), &dummy, NULL);

その他の色はこちら(リンク)

または別の方法として、Linux の場合、ANSI カラー コードを使用できます(すべての端末がサポートされているわけではありません。ほとんどの端末 (Windows を除く) はサポートされているはずです)。

例えば

  fprintf (stdout, "\e[0;36m" "cyan colored text" "\e[0m");
于 2013-01-22T08:00:07.047 に答える
0

Windowsの問題に関する限り、あなたがPDACursesを見たかどうかはわかりませ.

于 2013-01-22T07:45:02.620 に答える