- 締切済み
コンソール画面のクリアの方法
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- oldroot2005
- ベストアンサー率66% (68/103)
OS が何かも「コンソール」ソフトが何かも不明なので、勝手に Windows だと仮定して回答します。 No.1 の回答にある「ESC[2J を printf する」方法は、ansi.sys をロードした「MS-DOS プロンプト」でないとうまく行きません。手元に Windows XP しかなくて、Windows 9x 系がどうなっているか確認できないのですが、Windows XP では、次のようにします。 C:\WINDOWS\SYSTEM32\CONFIG.NT の最後に次の二行を加える。 device=%SystemRoot%\system32\ansi.sys dosonly コマンドプロンプト(cmd.exe)ではなく、MS-DOS プロンプト(command.com) を起 動。このコンソールは、ESC[2J でクリアできます。 ただし、このコンソールでは MS-DOS 用に作成されたものしか実行できません。今、勉強のために作成しているソフトは実行できないかも知れません。 コマンドプロンプトでも有効な方法は二つあって、簡単なほうは、 #include <stdlib.h> .... .... system("cls"); .... という風にします。もうひとつの方法はコードが長いので、以下の URL を参照してください。 もし、Linux などの UNIX 系 OS の話だったら、方法が違うので、回答への補足でお知らせください。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
お使いの「コンソール」が何かによってそのコンソールを操作する方法も違ってきます。 お使いの「コンソール」は何ですか。
- zzen
- ベストアンサー率23% (9/38)
コンソールのクリアであれば、エスケープシーケンスでクリアを表示してやればokです。 以下をprintfで表示してください。ESCはx1bです。 ESC[2J
関連するQ&A
- ループの特定入力終了
C言語初心者です。よろしくお願いします。 whileなどのループ関数を使って、キーボード 入力をするたびに、ループが一度走る事は、 可能です。ですが、 常にループは走らせながらendなどの特定 の入力をされた場合に、ループを抜ける プログラムをどうしてもできません。 わかる方、教えていただければ幸いです。
- 締切済み
- C・C++・C#
- Java言語でノベルゲームを作りたいと思います。お勧めの参考書を教えて
Java言語でノベルゲームを作りたいと思います。お勧めの参考書を教えてください。 学校の課題でJava言語を用いて一からノベルゲームを作ることになりました。 アルゴリズムを考える際の参考になる本を紹介いただけたらと思います。 また、ゲーム画面の作成でGUIについてもすこし学習したいと思っていますので、そちらについてもお勧めのものがありましたら紹介いただけたらと思います。 Javaプログラミングの知識については初心者に近くif文やループ、メソッドの分割程度しかやったことがありません。 注文が多くてて申し訳ありませんが、丁寧で難しすぎない内容のものを教えていただけると助かります。 よろしくお願いいたします。
- ベストアンサー
- Java
- C言語プログラム
C言語プログラム ある数を入力して、入力された数を一辺とする図形を描くプログラムを作りたいんです。 分かりやすくすると、 入力された数が5だった時、画面には ***** ***** ***** ***** ***** ↑こう出力させたいんです。 四角だけじゃなくて、 * ** *** **** ***** ↑こういう三角とか、逆三角とか、 * * ** *** *** ***** ** *** * * こんなかんじでいろんな形を描けるようにしたいんです。 C言語で、for文の二重ループを使うようにとのことなんですが、 どうすればいいでしょうか。 こういうのってズルですけど、何かヒントでも貰えればと思っています...。
- ベストアンサー
- その他(プログラミング・開発)
- 素人なのですが、プログラマになってしまいました。
営業として入った会社に技術者が足りないので、自習室を使ってもいいからC言語の勉強をして欲しいとの事で、プログラミング言語Cの著書では有名なK&Rを配布され、1章まで読み進めたところで会社側から問題を出されたのですが。 『入力 キーボードから文字を入力し、改行が入力されるまで、 1文字ずつ配列に文字を保存していきます。 出力 改行が入力されたら、それまでに保存した文字を配列から 1文字ずつ出力し、改行までに入力された文字数を画面に表示します。 入力仕様 (1)最大半角 80文字まで入力可能であること。 (2)入力された文字を保存する配列の大きさは defineで定義すること。 (3)入力を開始する前に入力を促すプロンプトとして「 Input>」を表示させること (4)入力時のループは whileを使うこと。 (5)ループを抜ける条件は読み込んだ文字が改行文字である場合とすること。 出力仕様 (1)戻り値も引数も取らない一つの関数を宣言し、その関数を使って出力すること。 (2)出力時のループは for文を使うこと。 (3)ループを抜けた後、改行までに入力された文字数を画面に出力すること。 演習 (1)上記課題を作成せよ (2) (1)で作成したプログラムについて、入力について配列の最大サイズを超えた入力は無効となる様にプログラムを変更せよ。』 上の内容を一つずつであればなんとかプログラミング出来るようになったのですが、全てを一つのプログラムにする、となると文の書き方が解らなくて困っています。 皆さんはプログラマーの勉強を始めて壁にぶつかった時、どう対処されていました?? 回答よろしくお願いします。。
- ベストアンサー
- C・C++・C#
- C言語のプログラムについて
C言語のプログラムについて 3桁の自然数の中で、自分自身を含めた約数が奇数になるものがいくつあるかを求めるプログラムを作りたいのですが、swich文を使って、6通りの方法で出そうとしていまして、 while 文、 for文、 do while文に加え、 for文のを、1つの関数として独立させたもの、 さらに、for文のを重ループ部分のそれぞれのループに対応して、2つの関数として独立させたもの、 そして、この2つの関数のどちらともをループを用いずに再帰呼び出しを用いたもの の6通りで出したいのですが、swich文を使うところは自力でできたのですが、あとの6つそれぞれのプログラムの組み方がわかりません。 教えていただけないでしょうか?ややこしい書き方をしてすいません・・・。
- 締切済み
- C・C++・C#
- Cのコンソールアプリ
Cを勉強し始めて1ヶ月ほどになります。 [a] メインメニュー (1)○○開始 (2)○○終了 (3)××× (4)△△△ (9)プログラムの終了 処理番号入力:_ [b] ○○開始 ESCでメインメニューへ戻る (1)○○開始 (2)キャンセル 処理番号入力:_ コンソールアプリで[a]のようなメインメニューがあり [b]のような画面でキャンセルの選択やESCを押した場合などに 「メインメニューに戻る」動作をさせたいのですが、 forやwhileを使えばいいのでしょうか? なかなかイメージが出来ていなくて教えていただけるとありがたいです。 環境はVisual C++ 6.0です。
- ベストアンサー
- C・C++・C#
お礼
自分でも探していたら方法がみつかりました。 system("cls")すればOKなんです。 ただしこれはWindowsでのはなし。 UNIXなら別のコマンドを入れなくてはならないとわかりました。 ありがとうございます。