パスワードを読み取るためのC++プログラムを作成しようとしています。私が書いた文字ではなく、coutするプログラムを作成し*
ましたが、問題は、文字が間違っているために文字を削除したい場合です。
例:
私の定数パスワードは次 のとおりです。プログラム12345
に入ると表示され、最後の文字を削除する必要があります。文字列から削除するのは簡単ですが、Windowsのパスワードを紹介したときと同じように、最後の文字列をコンソールから非表示にします。
出来ますか?もしそうなら、誰かがどのように説明できますか?1235
****
*
6 に答える
バックスペース文字'\b'を出力すると、出力ポイントを元に戻すのに役立つ場合があります。
具体的には、文字列 "\ b \ b"を出力すると、最後の文字出力が空白になります。
printf("\b ");
カーソルが1文字戻ると、上記のprintfステートメントで指定されたスペースがコンソール出力の印刷文字を上書きするため、このステートメントは確実に機能します。
単純なバックスペースキーをシミュレートするために(conio.hからの)putch関数を使用してコンソールに書き込みをしているとき
std::cout << '\b';
また
printf("\b ");
私が書かなければならない作品ではありません:
cout << '\b' << " " << '\b';
また
putch('\b');
putch(' ');
putch('\b');
バックスペース\bを試すか、行全体を消去してもう一度印刷してください。
Sipmlyは'\b'
文字をstdoutに書き込みstd::cout<<"\b"
ます。printf("\b")
cppまたは純粋なCを使用している場合
私は最近同じ問題に直面しました\b
。was**カーソルを後方に移動**しましたが、char(または*)を削除していませんでした。その後、次に入力する文字が\b
(削除される文字)を置き換えることになります。だから、私はこのようなものを思いついた
printf(“\b \b”);
space key
afterを使用する\b
と、削除する文字が置き換えられ、もう一度使用する\b
と、1つの位置に戻ります(間違った文字があった位置に戻りますが、今回は文字が表示されません)。これにより、出力がスムーズになります。お役に立てば幸いです