non mais t'as rien compris ... le flush n'a aucun sens sur un flux d'entrée, d'ailleurs, tu dois bien déconner, puisque std::istream::flush n'est pas défini ...
le problème, c'est std::cout et tes char*. Fais des saisie propres ! et arrête de bricoler en rajoutant des instructions inutiles et insensé.
tu mets des std::cout.flush() entre chaque std::cout << "sans \\n final" << std::flush;
std::getline(std::cin, ligne);
std::istream::ignore sert à lire des caractères sur un flux mais sans les stocker : en gros tu jètes
std::cin.ignore(std::numeric_limits::max(), '\n');
lira tout ce qu'il peut jusqu'à ce qu'il trouve un '\n'
mais attention, sur une erreur, il faudra remettre le flux en état avant.
[^] # Re: Prise en compte
Posté par TazForEver . En réponse au message cin.getline me cherche et me trouve. Évalué à 1.
le problème, c'est std::cout et tes char*. Fais des saisie propres ! et arrête de bricoler en rajoutant des instructions inutiles et insensé.
tu mets des std::cout.flush() entre chaque
std::cout << "sans \\n final" << std::flush;
std::getline(std::cin, ligne);
std::istream::ignore sert à lire des caractères sur un flux mais sans les stocker : en gros tu jètes
std::cin.ignore(std::numeric_limits::max(), '\n');
lira tout ce qu'il peut jusqu'à ce qu'il trouve un '\n'
mais attention, sur une erreur, il faudra remettre le flux en état avant.