• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MinGWでConsoleColorが変わりません)

MinGWでConsoleColorが変わらない?

isleの回答

  • ベストアンサー
  • isle
  • ベストアンサー率51% (77/150)
回答No.1

cursesライブラリに文字色と背景色を変更する関数があります。 初期化処理として  start_color();  /* カラーペア番号(1~), 文字色, 背景色 */  init_pair(1, COLOR_RED, COLOR_BLUE);  init_pair(2, COLOR_GREEN, COLOR_BLACK); 色を変更したいところで、  attrset(COLOR_PAIR(1)); とか  attrset(COLOR_PAIR(2)|A_BOLD); /* 強調 */ です。

rolleitrio
質問者

お礼

早速のご教示ありがとう御座いました。 貫壁に思いどおりにすることが出来ました。 1週間位検索と試行錯誤の末に質問しましたが、 curses.hなどリファレンスの精査が足りません でした。まだまだです。 今後とも宜しくご指導の程、お願いいたします。 貴先輩のご健康(午前2時のご回答ですから)と、 ご発展を願っております。

関連するQ&A

  • cursesの呼び出し規約について

    cursesをはじめて使用したいのですが。 呼び出し規約でエラーが生じて利用することができません。 Windows7でvisual studioを用いています。 ある制御プログラムを書いているのですが、この場合では呼び出し規約を__stdcall (/Gz)に設定しています。 この呼び出し規約の条件でcursesを利用しようとすると以下のような LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 1>curses.obj : error LNK2001: 外部シンボル "_refresh@0" は未解決です。 エラーが出てきてしまいビルドすることができません。 用いているcursesのプログラムは以下のようなシンプルなものです。 #include <curses.h> int main() { initscr(); printw("Hello World !!!"); refresh(); getch(); endwin(); return 0; } 同じプログラムで呼び出し規約を__cdecl (/Gd)にしてあげるとうまくビルドができ実行することが可能なのですが、呼び出し規約を__cdecl (/Gd)に設定すると 某社(PCIボードを提供している会社です)の関数が使用できなくなってしまいます。 呼び出し規約を__stdcall (/Gz)でcursesを使用したいのですが。どのように改善すればよいのでしょうか?  アドバイスよろしくお願いします。

  • 「regedit」が見つからない

    「対象をファイルに保存」が灰色になり押せなくて、コンテツアドバイザのパスワードも忘れてしまったため、「regedit」からパスワードを変更してこの問題を解決しようとしたのですが、「ファイル名を指定して実行」を何回やっても「regedit」が検索されませんでした。 どうしたら「regedit」が見つかるでしょうか?

  • C言語コンパイラーエラーについて教えてください。

    C言語でコンパイルができなくて困っています。 コンパイルをすると、 ----------------------------------------- test.c.20:undefined reference to `getcury' test.c:20: undefined reference to `getcurx' collect2: ld returned 1 exit status ----------------------------------------- と言うエラーが出てしまい、コンパイルが完了しません。 ソースは、「test.c」と言うファイルネームで、内容は ----------------------------------------- #include <stdio.h> #include <stdlib.h> #include <curses.h> int main (void) { int y = 0, x = 0; initscr(); getyx(curscr, y, x); printw("x = %d, y = %d", x, y); refresh(); getchar(); endwin(); return 0; } ----------------------------------------- です。 OSは、Windows7 Professional SP1 コンパイラーは、MinGW Ver5.1.6. で、コマンドは gcc -o test.exe test.c -lcurses です。 確かに、curses へはパスも通っており、リンクできているようなんですが、 エラーが出てしまいます。 どうすれば良いのかわからず、大変困っています。 だれかご存知の方、教えてください。 どうかよろしくお願い致します。

  • gcc@MinGW:外部コマンドの起動

    MSYS2/MinGW64 on Windows10 の環境で gcc 開発をしています。 下記の簡単なソースを用意します。 #include <stdio.h> #include <stdlib.h> void main() { system("/usr/bin/ls"); exit(0); } なお、/usr/bin/ls の存在は、   $ which ls ↓   /usr/bin/ls にて確認しています。 これを /mingw64/bin/gcc でコンパイルして実行すると、 '/usr/bin/ls' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示され、明らかに存在するはずの ls コマンドが起動されません(上記エラーメッセージ中のマルチバイト文字はなぜか cp932 で表示されています)。 ところが、同じソースを /usr/bin/gcc でコンパイルすると、問題なく実行されるのです。 MSYS2 と MinGW の関係がよく理解できていないこともあり、どうしてこのようなことが起こるのか理解に苦しんでいます。 どなたかお心当りのあるかた、お教え下されば幸いです。

  • ビープ音について

    solaris10のビープ音について質問させて頂きます。 solaris10では、ビープ音を鳴らすのに、コンソール画面からプログラム(個人的に作成したプログラム)を起動させなければ、鳴らないようなのですが、コンソール画面なしでビープ音を鳴らすようにするにはどの様にすればよいか、ご教授御願い致します。 プログラムは下記のようになっております。 /* sample.c */ #include <curses.h> #include <unctrl.h> #include <unistd.h> #include <stdio.h> #include <time.h> void main() { initscr(); while(1) { beep(); sleep(1); } endwin(); } コンパイルは下記のようにしています。 cc -c sample.c cc -o sample sample.o -lcurses 上記にて作成したsampleを、コンソールのコマンドにて実行するとアラームは正常になります。 実行ファイルのsampleをアイコン作成にてアイコンを作成(端末に設定したくない)し、実行するとビープ音はならない。 以上、ご教授御願い致します。

  • ワード2007で><

    今課題をやっているのですがフォント設定とかが変えられない状態(灰色になって選択できない)になっていて文字の大きさの変更などができなくなっていますどうすれば文字の大きさなどが変更できるのでしょうか?

  • スキャナーで取り込んだロゴの色を変えたい

    スキャナーで取り込んだロゴの文字色を変えたいんですが、他の方の質問などを参考に《Photoshop》などで変更しようにも変わりません どの色を選んでも、最終的には灰色に変わってしまい、灰色以外で文字を書くコトも、塗りつぶすコトもできません なぜでしょうか?? 《Photoshop》の体験版をダウンロードしましたが、使い方などもサッパリわからないので、分かりやすい説明をお願いします

  • スキャナーで取り込んだロゴの色を変更したい

    スキャナーで取り込んだロゴの文字色を変えたいんですが、他の方の質問などを参考に《Photoshop》などで変更しようにも変わりません どの色を選んでも、最終的には灰色に変わってしまい、灰色以外で文字を書くコトも、塗りつぶすコトもできません なぜでしょうか?? 《Photoshop》の体験版をダウンロードしましたが、使い方などもサッパリわからないので、分かりやすい説明をお願いします

  • システム辞書の追加ボタンが押せない

    IME2002用のシステム辞書の追加ボタンが灰色になって押せないです spybotとNorton Internet Security 2004(特別優待版)を入れてからおかしいような・・・(いつからおかしくなったか覚えていません) ちなみにシステム辞書には顔文字辞書を6個登録してます それとspybotは削除しました システム辞書に顔文字(.dic)を登録したいので 灰色になって押せない追加ボタンの直しかたをご存知の方お願いします

  • win8アクセス許可変更できない

    windows8でアクセス許可を変更したいのですが、文字は灰色になっていてチェックを入れられません。 どうしたらいいでしょうか?