Comment pouvez-vous obtenir une sortie sans tampon de cout, de sorte qu'il écrit instantanément sur la console sans avoir besoin de vider (similaire à cerr)?Sortie sans tampon avec cout
Je pensais que cela pourrait être fait via rdbuf() -> pubsetbuf, mais cela ne semble pas fonctionner. L'extrait de code suivant ci-dessous est censé être immédiatement affiché sur la console, puis attendre quelques secondes. Mais à la place, il attend juste, et ne sort que lorsque le programme se termine et que le tampon est vidé.
#include <iostream>
int main()
{
std::cout.rdbuf()->pubsetbuf(0, 0);
std::cout << "A";
sleep(5);
}
Cette solution a bien fonctionné pour moi, merci! Une note pour les autres: la mise en mémoire tampon semble se produire lors de l'utilisation de cout ou printf et se produit même si un retour à la ligne est utilisé à la fin de la ligne. – Moot