11 Kasım 2009, ÇARŞAMBA
Neden basit bir beşgen kullanmaktır bir yeni satır biçim dizesi sürece aramadan sonra flush değil mi?
Neden printf
bir yeni satır biçim dizesi sürece aramadan sonra flush değil mi? Bu POSIX davranış mı? Nasıl hemen her zaman floş, basit bir beşgen kullanmaktır alabilir miyim?
CEVAP
11 Kasım 2009, ÇARŞAMBA
stdout
akış tamponlu, bu yüzden tek bir yeni satır (ya söyledi o zaman) ulaştıktan sonra tampon ne gösterecektir. Yazdırmak için bir kaç seçenek var hemen:
Stderr fprintf
yerine kullanarak yazdırmak için:
fprintf(stderr, "I will be printed immediately");
İhtiyacınız olan her an floş stdout fflush
kullanarak:
printf("Buffered, will be flushed");
fflush(stdout); // Will now print everything in the stdout buffer
Edit: Andy Ross yorum aşağıda da setbuf
kullanarak: stdout üzerinde ara belleğe alma devre dışı bırakabilirsiniz
setbuf(stdout, NULL);
Bunu Paylaş:
Neden tek bir bağımsız değişken (dönüş...
JavaScript, basit bir beşgen kullanmak...
Neden dosyaları bir yeni satır ile bit...
Neden \r yeni satır Vim için mi?...
Doğru biçimde, basit bir beşgen kullan...