私はプログラミングにとても慣れています。このコードを見て、どのように動作するのか理解しようとしていました。私の理解は、whileループの各実行の開始は、プログラムが入力を待つことであり、その入力が許可されていれば、ループが実行されます。あれは正しいですか?そうであれば、 '!'なら '$'をプリントアウトする方法は?その場合、else caseのcoutコマンドがどのようにアクティブ化されていないかを見ていますか?cin.getとcin.putbackに関する助けが必要
int main() {
char ch;
cout << "enter a phrase: ";
while (cin.get(ch)) {
if (ch == '!') cin.putback('$');
else cout << ch;
while (cin.peek() == `#') cin.ignore(1,'#');
}
return 0;
}
出力:フレーズを入力してください:Now!is!for!fun#! 今$ $ timeforの$の楽しさをisthe $
私はC++のエキスパートではありませんが、 'cin.putback'は' cin'ストリームの最後の型付き文字を置き換えます。それは確かに 'cout'とは関係がありません。 – Kilazur