The
stdout stream is buffered, so will only display what's in the buffer after it reaches a newline (or when it's told to). You have a few options to print immediately:Print to stderr instead using
fprintf:fprintf(stderr, "I will be printed immediately");Flush stdout whenever you need it to using
fflush:printf("Buffered, will be flushed");
fflush(stdout); // Will now print everything in the stdout bufferEdit: From Andy Ross's comment below, you can also disable buffering on stdout by using
setbuf:setbuf(stdout, NULL);


0 comments:
Post a Comment