Loop in C

di il
1 risposte

Loop in C

Ciao a tutti ho il seguente piccolo problema:
due programmi che scrivono alcuni bytes e poi effettuano un ciclo infinito:
main()
{  
   write(1,"Hello \n",7); 
   for (;;);
}
e quest'altro:
#include<stdio.h>
main()
{  
   printf("Hello \n"); 
   for (;;); 
}
Essi sembrano equivalenti: entrambi scrivono e poi devono essere interrotti.
Se però si ridirige l'output dei due programmi su un file su disco, oppure non si stampa il \n, non sono ancora equivalenti. Quando il programma (processo) termina perché viene interrotto, il buffer non viene svuotato. Come faccio a utilizzare o usare fflush o setvbuf per rendere il loro comportamento analogo anche in questi casi.

1 Risposte

  • Re: Loop in C

    C'è qualcuno che ha un'idea, togliendo \n le cose non tornano.
Devi accedere o registrarti per scrivere nel forum
1 risposte