行緩沖。在這種情況下,當在輸入和輸出中遇到換行符時,標准I/O庫執行I/O操作。這允許我們一次輸出一個字符,但只有在寫了一行之後才進行實際I/O操作。當流涉及一個終端時,通常使用行緩沖。第一個例子:(hello world)
在這裡,當我們沒有在hello world後邊跟\n,此時結果中並沒有出現hello world;
而當我們給它加上\n之後,
結果是這樣的:
這是為什麼呢,這裡就是因為緩沖區的存在。當我們在屏幕上打印出來之前會將內容存放在行緩沖區裡。只有識別到\n時,才會輸出內容。
第二個例子:(神奇的進度條)說起進度條,大家都再熟悉不過了。比如像這樣的:
這樣的一個進度條怎麼用代碼實現呢?
簡單的分析一下,首先我們要輸出走過的進度,以及剩余部分,同時還得顯示百分比。
代碼實現如下:
progress_bar是定義了一個102個空間,來存放每個進度;
ch[]表示的是出現進度時的緩沖效果;
‘#’代表了進度;
fflush(stdout):為了刷新行緩沖區的內容;
usleep(100000):睡眠時間,即控制進度的快慢;
運行結果如下:
今天的緩沖就先說到這裡喽~~
歡迎提出寶貴意見哦。