[SO] Curiozitate

Maximilian Machedon maximilian.machedon at gmail.com
Sat Nov 4 13:36:12 EET 2006


        Daca amesteci apelurile de stream-uri C++ cu cele de C apar astfel de probleme deoarece au buffer-e diferite.
        Daca nu dai cout.flush() sau fflush(stdout) pot aparea iar output-uri amestecate.

        Daca nu ai facut asta, nu stiu care e problema. :-D


----- Original Message ----- 
From: Costin Boldisor 
To: so at cursuri.cs.pub.ro 
Sent: Saturday, November 04, 2006 12:36 PM
Subject: [SO] Curiozitate


Am o curiozitate in legatura cu o problema pe care am avut-o la tema 1 pe win.

 

Problema era ca nu imi trecea testele 1 si 2 (restul erau passed J )

Cauza era urmatoarea: outputul comenzilor era corect dar se afisa 

inainte sa se afiseze promptul. Adica:

 

/cygdrive/e.

CYGWIN_NT-5.1 

costin

> 

> 

 

>

>

 

Ordinea aceasta de afisare aparea numai pe server, la mine mergea bine.

 

Ideea era ca pe versiunea cu probleme eu afisam promptul cu:

 

fprintf(stdout,"%s",s);

 

iar pe versiunea care a luat testele 1 si 2 afisez cu

 

cout<<s.c_str();

 

Care este ideea? Implementarea comenzilor din stdio.h si din iostream nu apeleaza un WriteFile sau ceva?

Cum se poate inversa ordinea textului afisat, din moment ce fprintf(..) este sigur apelat inainte de CreateProcess(..)?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20061104/959392f9/attachment.html


More information about the so mailing list