簡體   English   中英

在 C 中,默認情況下標准輸入是什么緩沖狀態?

[英]In C what buffering state is stdin by default?

這可能是一個完全錯誤的問題,或者至少是迂腐,但我正在通過 K&R 工作,我正在閱讀此文檔:文件輸入/輸出

雖然它聲明流具有緩沖狀態,但它沒有提到默認情況下標准輸入處於什​​么狀態。

默認情況下是行緩沖的嗎? 它是特定於實現的嗎?

運行此代碼似乎表明它是行緩沖的:

#include <stdio.h>

main()
{
    getchar();
}

謝謝

這是一個很好的問題,但答案相當不具體。

該標准(至少是 C99)特別指出,當且僅當(我的重點)流不引用交互式設備時, stdinstdout在其初始狀態下才完全緩沖。 這表明其他任何事情都是未指定和/或實現定義的行為。 該標准還規定交互式設備的定義是實現定義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM