Problema con ncurses y el stdout

YagoBlade
17 de Mayo del 2005
Hola!

He empezado a trabajar con las ncurses para hacer una aplicación en modo consola. Mi problema es que solo necesito utilizar ncurses en una parte concreta y en el resto la salida es normal.

Así que inicio las curses (initscr()), trabajo en modo ncurses y cuando salgo con endwin() el stdout no se vacía con despues de un printf, se van acumulando las lineas. Cada vez que hago un printf pone en pantalla lo que puso antes mas las nuevas lineas que escribo. Alguna idea?

Un saludo.

hiei
17 de Mayo del 2005
Prueva de hacer un fflush (stdout) y otro a stderr cada vez que imprimes, aunque tu problema realmente es muy raro...

YagoBlade
17 de Mayo del 2005
Así sí funciona, ya lo probé, pero no es como para estar todo el rato con fflush, es un programa de 2000 lineas y muchos printf.

Gracias por la respuesta!

hiei
17 de Mayo del 2005
haz lo siguiente:
crea una funcion _printf asi:
int _printf (char *s, ...)
{
va_list listaPtr;
int resultado=0;

va_start( listaPtr, formato );
resultado = vprintf( formato, listaPtr );
va_end( listaPtr );
fflush (stdout);
return resultado;
}
No olvides de incluir stdarg.h y cambiar las referencias de printf por _printf.