OT: Programacion C - Error o normal ?

Horst von Brand vonbrand en inf.utfsm.cl
Lun Nov 22 21:25:14 CLST 2004


"Felipe Cristian Barriga Richards (Lista)" <lista en felipebarriga.cl> dijo:
> Hola lista, como vi un OT sobre C, decidi aprovechar el panico y
> consultarles acerca de una duda que tenia hace tiempo. (Todo bajo
> gcc-Linux ;) ).

OK.

> 	Resulta que hice un programita a modo de ilustrar el error (o lo
> que yo considero error). Es medio complicado mostarlo sin el ejemplo.
> 
> - ---- Inicio ejemplo.c ----
> 
> #include <stdio.h>
> #include <unistd.h>
> 
> int main () {
> ~   int i;
> 
> ~   printf ("---- Inicio ----\n");
> 
> ~   printf ("-- Prueba con salto de linea --\n");
> ~   for (i=0; i<101; i++) {
> ~      printf ("%d\n", i);
> ~      usleep (10000);
> ~   }
> 
> ~   printf ("\n-- Prueba sin salto de linea --\n");
> ~   for (i=0; i<101; i++) {
> ~      printf ("%d ", i);
> ~      usleep (10000);
> ~   }
> 
> ~   printf ("\n---- Fin ----\n");
> ~   return (0);
> }
> 
> - ---- Fin ejemplo.c ----
> 
> Como puede ver al ejecutar este codigo, en el primer 'for', se imprime
> el valor de 'i' en cada ejecucion del ciclo. En el segundo 'for' se
> ejecuta y una vez que termine completamente el 'for' imprime todos los
> valores, como si los guardase en algun buffer.
> ¿ Se puede forzar que se imprima todo lo contenido en ese 'buffer' ?
> (Probe con fprintf (stdout, "%d ", i) y paso exactamente lo mismo.

fflush(3)
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux