I recommend Langer and Kreft's book, "Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference" for a full explanation of iostreams and the underlying classes. Be aware that flush (which writes out any buffered characters) is invoked by endl, so any statements written similar to the following should work as you were expecting : std::cout << "your text here" << std::endl ; HTH, Mike Young -----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx]On Behalf Of enggakshat Sent: Wednesday, November 15, 2006 12:58 PM To: gcc-help@xxxxxxxxxxx Subject: Re: is the c code in gcc comiled sequentially??? Ian Lance Taylor-3 wrote: > > enggakshat <enggakshat@xxxxxxxxx> writes: > >> for the following simple code i thought its obvious that 'hello' is >> printed >> but that doesnt happen. >> as far as i knew the code is executed sequentially. >> >> #include<iostream> >> >> using namespace std; >> >> int main() >> >> { >> int i=0; >> cout<<"hello"; >> while(1) >> { >> i++; >> } >> } > > This is most likely a buffering issue. std::cout is normally line > buffered by default, which means that it is only flushed when you > output a newline character. Try this: > cout << unitbuf << "hello"; > > Ian > > thanks a lot .it worked.is there any suggested reading from where i can get more info on buffers in c++ regards Akshat -- View this message in context: http://www.nabble.com/is-the-c-code-in-gcc-compiled-sequentially----tf2634251.html#a7362882 Sent from the gcc - Help mailing list archive at Nabble.com.