6

パスワードを読み取るためのC++プログラムを作成しようとしています。私が書いた文字ではなく、coutするプログラムを作成し*ましたが、問題は、文字が間違っているために文字を削除したい場合です。
例: 私の定数パスワードは次 のとおりです。プログラム12345
に入ると表示され、最後の文字を削除する必要があります。文字列から削除するのは簡単ですが、Windowsのパスワードを紹介したときと同じように、最後の文字列をコンソールから非表示にします。 出来ますか?もしそうなら、誰かがどのように説明できますか?1235*****

4

6 に答える 6

9

バックスペース文字'\b'を出力すると、出力ポイントを元に戻すのに役立つ場合があります。

具体的には、文字列 "\ b \ b"を出力すると、最後の文字出力が空白になります。

于 2012-11-18T12:59:59.867 に答える
3
printf("\b ");

カーソルが1文字戻ると、上記のprintfステートメントで指定されたスペースがコンソール出力の印刷文字を上書きするため、このステートメントは確実に機能します。

于 2015-02-01T10:18:28.483 に答える
1

単純なバックスペースキーをシミュレートするために(conio.hからの)putch関数を使用してコンソールに書き込みをしているとき

std::cout << '\b';

また

printf("\b ");

私が書かなければならない作品ではありません:

cout << '\b' << " " << '\b';

また

putch('\b');
putch(' ');
putch('\b');
于 2016-01-10T11:21:53.870 に答える
0

バックスペース\bを試すか、行全体を消去してもう一度印刷してください。

于 2012-11-18T12:58:43.677 に答える
0

Sipmlyは'\b'文字をstdoutに書き込みstd::cout<<"\b"ます。printf("\b")cppまたは純粋なCを使用している場合

于 2012-11-18T13:07:20.370 に答える
0

私は最近同じ問題に直面しました\b。was**カーソルを後方に移動**しましたが、char(または*)を削除していませんでした。その後、次に入力する文字が\b(削除される文字)を置き換えることになります。だから、私はこのようなものを思いついた

printf(“\b \b”);

space keyafterを使用する\bと、削除する文字が置き換えられ、もう一度使用する\bと、1つの位置に戻ります(間違った文字があった位置に戻りますが、今回は文字が表示されません)。これにより、出力がスムーズになります。お役に立てば幸いです

于 2021-12-17T00:08:37.323 に答える