[英]In C what buffering state is stdin by default?
這可能是一個完全錯誤的問題,或者至少是迂腐,但我正在通過 K&R 工作,我正在閱讀此文檔:文件輸入/輸出
雖然它聲明流具有緩沖狀態,但它沒有提到默認情況下標准輸入處於什么狀態。
默認情況下是行緩沖的嗎? 它是特定於實現的嗎?
運行此代碼似乎表明它是行緩沖的:
#include <stdio.h>
main()
{
getchar();
}
謝謝
這是一個很好的問題,但答案相當不具體。
該標准(至少是 C99)特別指出,當且僅當(我的重點)流不引用交互式設備時, stdin
和stdout
在其初始狀態下才完全緩沖。 這表明其他任何事情都是未指定和/或實現定義的行為。 該標准還規定交互式設備的定義是實現定義的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.