• ベストアンサー

C言語超初心者です。

C言語を始めたばかりで、レベルの低い内容で申し訳ないですが、よろしくお願いします。 コンパイルした文字や文字列などを、コマンドプロンプト上ではなく、画面全体をクリアにして、コンパイルした文字や文字列のみを表示するには、どのようにしたらよいでしょうか? できれば表示する位置を指定する方法も、教えていただきたいです。 使用しているのは、Tera Pad、BorlandC++5.5コンパイラーです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.2

初心者と言っているぐらいじゃ無理でしょう。 そもそもC言語というのはDOSなどのコンソール系のOSで使う事を前提としているので、WindowsなどのGUIで文字を表示する関数は標準にはありません。 必要な関数はWindowsがAPIとして用意していますが、それを単純に呼ぶだけではダメで、プログラムの構造をWindows用に作り替えないといけませんし、決まり事もたくさんあります。 http://rina.jpn.ph/~rance/directx7/directx7study/winpro/p012.htm 上記で紹介されているのが、中身が空っぽのスケルトンプログラムと言われる物で、CでWindowsソフト作るなら最低でもこれだけのプログラムが必要です。 Windowsのプログラムがどんな物かは、その前後の項目を見れば分かりやすいでしょうか。 http://rina.jpn.ph/~rance/directx7/directx7study/winpro/p011.htm http://rina.jpn.ph/~rance/directx7/directx7study/winpro/p013.htm スケルトンを見て分かる通り、CのままでWindowsのプログラムを組むのは結構面倒なので、普通はより簡潔にプログラムを記述できるC++とクラスライブラリの組み合わせや他の言語が使われますね。CにこだわらずにVBならもっと簡単にプログラムできます。

その他の回答 (2)

回答No.3

「コンパイルした文字や文字列など」ってどういう意味で使ってますか? これではアセンブリソースやオブジェクトを表示することになりますが。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

どの環境(といってもWindows限定)で動作させる…という方法は…ありますかねぇ。 「ANSI エスケープシーケンス」が動作する環境であれば、画面クリアとかカーソルの位置の変更とか可能ですが…。 そういうのでない場合だとWindowsAPIで操作することになるかと思われます。 SetConsoleCursorPosition()とかSetConsoleTextAttribute()とか…ですかねぇ。

関連するQ&A