- ベストアンサー
C言語超初心者です。
C言語を始めたばかりで、レベルの低い内容で申し訳ないですが、よろしくお願いします。 コンパイルした文字や文字列などを、コマンドプロンプト上ではなく、画面全体をクリアにして、コンパイルした文字や文字列のみを表示するには、どのようにしたらよいでしょうか? できれば表示する位置を指定する方法も、教えていただきたいです。 使用しているのは、Tera Pad、BorlandC++5.5コンパイラーです。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
初心者と言っているぐらいじゃ無理でしょう。 そもそも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)
- TooManyBugs
- ベストアンサー率27% (1472/5321)
「コンパイルした文字や文字列など」ってどういう意味で使ってますか? これではアセンブリソースやオブジェクトを表示することになりますが。
- Wr5
- ベストアンサー率53% (2173/4061)
どの環境(といってもWindows限定)で動作させる…という方法は…ありますかねぇ。 「ANSI エスケープシーケンス」が動作する環境であれば、画面クリアとかカーソルの位置の変更とか可能ですが…。 そういうのでない場合だとWindowsAPIで操作することになるかと思われます。 SetConsoleCursorPosition()とかSetConsoleTextAttribute()とか…ですかねぇ。