輸入緩衝區與輸出緩衝區

2021-08-20 02:20:14 字數 835 閱讀 9562

本博文通過一段程式來理解輸入緩衝區與輸出緩衝區。

程式如下:

@author: wanghao

@created time : thu 17 may 2018 06:03:12 ampdt

@file name: test.c

@description:

#include

int main(int argc, const char *argv)

while(1)

fputc(fgetc(stdin),stdout);

fputc('\n',stdout);

sleep(1);

return0;

在shell下輸入:123456789

輸出結果如下:

為什麼這樣輸出結果呢?解釋如下:

程式執行整個過程:

1. 從鍵盤輸入123456789等字元時,這些字元一直在鍵盤緩衝區中(shell緩衝區),當在鍵盤輸入『\n』時,鍵盤緩衝區中的字元才被全部傳送到stdin緩衝區中。

2. fgetc(stdin)負責讀取stdin緩衝區中的某乙個字元,首先讀取第乙個字元『1』,

3. fputc( c , stdout)將字元『1』送到stdout緩衝區中,stdout緩衝區沒有換行符所以不輸出到螢幕上。

4. fputc(『\n』, stdout)將『\n』輸出到stdout緩衝區中,當stdout緩衝區中有『\n』時,stdout緩衝區中的字元會自動輸出到螢幕中,此時螢幕列印1,且換行。

5.重複以上操作。

輸出緩衝區

輸出緩衝區 printf 輸出緩衝區 顯示器 printf函式列印的內容會先送入輸出緩衝區,輸出緩衝區將資料送到顯示器我們才能看見。什麼時候輸入緩衝區會將資料送到顯示器 什麼時候輸出緩衝區會清空 1 當輸出乙個換行符時 2 當輸入時,先清空輸出緩衝區 3 輸出緩衝區滿時 4 當主動呼叫fflush ...

php 緩衝區,PHP的輸出緩衝區

1 什麼是緩衝區?緩衝區的作用是把輸入或者輸出的內容先放進記憶體,而不顯示或者讀取,最本質的作用就是協調高速cpu和相對緩慢的io裝置 磁碟等 的運作。2 php在執行的時候,在什麼地方有用到緩衝區?當執行php的時候,如果碰到了echo print r之類的會輸出資料的 php就會將要輸出的資料放...

清空輸入緩衝區

清空輸入緩衝區 cin.clear 清除錯誤標記,比如要求輸入int型,但我們輸入了char型,就會導致輸入錯誤,產生錯誤標記 cin.sync 清空輸入緩衝區 cin.ignore n,ch 第乙個引數是清空輸入緩衝區的大小,第二個引數是終止字元 注 終止字元也會被丟棄 常用形式有以下兩種 cin...