Je suis très novice en programmation et je regardais ce morceau de code, essayant de comprendre comment cela fonctionne. Ma compréhension est, que le début de chaque cycle de la boucle while le programme attend une entrée, et si cette entrée est autorisée la boucle est exécutée. Est-ce exact? Si c'est le cas, pourquoi le programme affiche-t-il le '$' si un '!' est tapé, vu comment dans ce cas la commande cout dans le cas else n'est pas activée?Besoin d'aide concernant cin.get et 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;
}
Sortie: entrez une phrase: #! Est # le! Temps # pour! Fun #! maintenant $ $ estle
$ amusant de $
Je ne suis pas un expert C++, mais je suppose que 'cin.putback' remplace le dernier caractère tapé dans le flux' cin'. Il n'a en effet rien à voir avec 'cout'. – Kilazur