¿Cómo se puede obtener salida sin búfer de cout, para que se escriba instantáneamente en la consola sin la necesidad de enjuagar (similar a cerr)?Salida sin búfer con cout
Pensé que podría hacerse a través de rdbuf() -> pubsetbuf, pero esto no parece funcionar. Se supone que el siguiente fragmento de código a continuación se envía inmediatamente a la consola y luego espera unos segundos. Pero, en cambio, solo espera, y solo se emite cuando el programa sale y se vacía el búfer.
#include <iostream>
int main()
{
std::cout.rdbuf()->pubsetbuf(0, 0);
std::cout << "A";
sleep(5);
}
Esta solución de hecho funcionó para mí, ¡gracias! Una nota para los demás: el almacenamiento en búfer parece ocurrir cuando se usa cout o printf y ocurre incluso si se usa una nueva línea al final de la línea. – Moot