1. ホーム
  2. c++

[解決済み] C++による画面クリア

2022-03-02 19:12:23

質問

CMD画面を消去したい。いくつか方法があるようです。1つ目は

system("cls");  

しかし、systemは使いたくない。Windowsに依存することになるからだ。Unix版でも同じです。

もし私が

cout << string(22, '\n');

の場合、次の行のテキストは画面の下にあり、私はそれを上にしたいのです。どうすれば画面をクリアして、テキストを画面の一番上に戻すことができるのでしょうか?

したがって、私はこのように言う。

cout << string(22, '\n');
cout << "************Question 1 *******" << endl;
cout << "WHO WAS THE FIRST BLACK PRESEDENT?" << endl;
cout << "(1) Obama" << endl;
cout << "(2) Bush" << endl;
cout << "(3) Jordan" << endl;
cin >> answer >> endl;

これで画面がクリアされ、マイメニューが画面下に表示されるのですが...。どうすれば、画面をクリアにして、質問・回答を画面上部に戻すことができるのでしょうか?

解決方法は?

LinuxとWindowsの両方で動作します。

cout << "\033[2J\033[1;1H";

画面クリアコマンドに変換する特殊文字列です。

などの関数で囲むことができます。 clrscr() は、実装に依存します。