2017-12-08 2 views
0

基本的には、約2秒間一連の数字をフラッシュする必要があります。ユーザーはその番号を覚えて入力する必要があります。これどうやってするの?私はタイマーを使用するか、テキストの色を背景の同じ色に変更しようとしましたが、そうするより良い方法を考えることはできません。助言がありますか?数秒後にコンソールウィンドウの1行を消滅させる方法はありますか?

+0

[1つのコマンドラインだけをクリアするにはどうすればいいですか?](https://stackoverflow.com/questions/42450295/how-do-i-clear-only-one-line-of-cmd) –

+0

画面を一時的に消去する方法さえ可能でしょうか? – zhodges10

+0

'system(" cls ")'を呼び出してcmdをクリアすることができます –

答えて

0

一般的な端末には「スクリーン」という概念がないため、これを処理する方法は基本的に3通りあります。

  1. 使用キャリッジリターンやバックスペース文字を空白で前の文字を上書きする(ただし、ユーザーに注意してくださいが、この場合のデータを「保存」するためにEnterキーを押すことができます)。
  2. 後で空白行を印刷しますが、ユーザーは後ろにスクロールできます。
  3. curses(おそらくncurses)のライブラリを使用してください。

選択肢を見て、達成しようとしているものに最も適しているものを確認する必要があります。

+0

"\ r"の使い方を教えてください。私はそれを調べて、これを印刷しようとしました: 'cout << "Hello \ rDone" << endl;それは 'ドゥーソ'と表示されますか? – zhodges10

+1

'\ r'は行の先頭に"カーソル "を返します。したがって、" Hello "の最初の4文字を" done "で上書きします。そのため、" doneo "が得られます。残りの行を隠すために空白を表示する必要があります。 –

+0

私は、素晴らしいを参照してください!私はそれをもっと使いこなすつもりです、ありがとう! – zhodges10

関連する問題