C++的緩沖區(qū)怎么使用-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“C++的緩沖區(qū)怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++的緩沖區(qū)怎么使用”吧!

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比興山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式興山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋興山地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。

緩沖區(qū)

緩沖區(qū) (buffer) 是內(nèi)存空間的一部分. 在內(nèi)存中會為每一個(gè)數(shù)據(jù)流開辟一個(gè)內(nèi)存緩沖區(qū).

緩沖區(qū)是用來存放流中的數(shù)據(jù), 緩沖區(qū)中的數(shù)據(jù)就是流. 在 C++ 中, 輸入輸出流被定義為類, C++ 的 I/O 庫中的類稱為流類 (stream class). cout 和 cin 是 iostream 流類中的流對象.


C++的緩沖區(qū)怎么使用

為什么要引入緩沖區(qū)

我們?yōu)槭裁匆刖彌_區(qū)呢?
比如我們從磁盤里取信息,我們先把讀出的數(shù)據(jù)放在緩沖區(qū),計(jì)算機(jī)再直接從緩沖區(qū)中取數(shù)據(jù),等緩沖區(qū)的數(shù)據(jù)取完后再去磁盤中讀取,這樣就可以減少磁盤的讀寫次數(shù),再加上計(jì)算機(jī)對緩沖區(qū)的操作大大快于對磁盤的操作,故應(yīng)用緩沖區(qū)可大大提高計(jì)算機(jī)的運(yùn)行速度。
又比如,我們使用打印機(jī)打印文檔,由于打印機(jī)的打印速度相對較慢,我們先把文檔輸出到打印機(jī)相應(yīng)的緩沖區(qū),打印機(jī)再自行逐步打印,這時(shí)我們的CPU可以處理別的事情。
現(xiàn)在您基本明白了吧,緩沖區(qū)就是一塊內(nèi)存區(qū),它用在輸入輸出設(shè)備和CPU之間,用來緩存數(shù)據(jù)。它使得低速的輸入輸出設(shè)備和高速的CPU能夠協(xié)調(diào)工作,避免低速的輸入輸出設(shè)備占用CPU,解放出CPU,使其能夠高效率工作


緩沖區(qū)的類型

緩沖區(qū) 分為三種類型:全緩沖、行緩沖和不帶緩沖。
1、全緩沖
在這種情況下,當(dāng)填滿標(biāo)準(zhǔn)I/O緩存后才進(jìn)行實(shí)際I/O操作。全緩沖的典型代表是對磁盤文件的讀寫。
2、行緩沖
在這種情況下,當(dāng)在輸入和輸出中遇到換行符時(shí),執(zhí)行真正的I/O操作。這時(shí),我們輸入的字符先存放在緩沖區(qū),等按下回車鍵換行時(shí)才進(jìn)行實(shí)際的I/O操作。典型代表是鍵盤輸入數(shù)據(jù)。
3、不帶緩沖
也就是不進(jìn)行緩沖,標(biāo)準(zhǔn)出錯(cuò)情況stderr是典型代表,這使得出錯(cuò)信息可以直接盡快地顯示出來。
緩沖區(qū)的刷新
下列情況會引發(fā)緩沖區(qū)的刷新:
1、緩沖區(qū)滿時(shí);
2、執(zhí)行flush語句;
3、執(zhí)行endl語句;
4、關(guān)閉文件。

例子

#include <iostream>
using namespace std;

int main() {
    int n[5];
    for (int i = 0; i < 5; ++i) {
        cin >> n[i];
        cout << n[i] << endl;
    }
    
    return 0;
}

一個(gè)一個(gè)輸入:

1
1
2
2
3
3
4
4
5
5


輸入一個(gè), 即刻輸出, 每次均需待鍵盤輸入.

一次性輸入:

1 2 3 4 5
1
2
3
4
5


每次循環(huán)僅要一個(gè)整數(shù), 但輸入緩沖區(qū)中卻一次放入了 5 個(gè)整數(shù).

到此,相信大家對“C++的緩沖區(qū)怎么使用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章名稱:C++的緩沖區(qū)怎么使用-創(chuàng)新互聯(lián)
文章來源:http://www.muchs.cn/article18/pesdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司關(guān)鍵詞優(yōu)化軟件開發(fā)、靜態(tài)網(wǎng)站、定制網(wǎng)站品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)