中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

電子商務(wù)與網(wǎng)站建設(shè)的報(bào)告廣告聯(lián)盟代理平臺(tái)

電子商務(wù)與網(wǎng)站建設(shè)的報(bào)告,廣告聯(lián)盟代理平臺(tái),高端網(wǎng)站建設(shè)公司,可以投稿的寫作網(wǎng)站18.1 I/O流概念和流類庫(kù)結(jié)構(gòu) 1 概念 程序的輸入指的是從輸入文件將數(shù)據(jù)傳送給程序,程序的輸出指的是從程序?qū)?shù)據(jù)傳送給輸出文件。 C輸入輸出包含以下三個(gè)方面的內(nèi)容: (1)對(duì)系統(tǒng)指定的標(biāo)準(zhǔn)設(shè)備的輸入和輸出。即從鍵盤輸入數(shù)據(jù)&am…

18.1 I/O流概念和流類庫(kù)結(jié)構(gòu)

  • 1 概念
    程序的輸入指的是從輸入文件將數(shù)據(jù)傳送給程序,程序的輸出指的是從程序?qū)?shù)據(jù)傳送給輸出文件。

  • C++輸入輸出包含以下三個(gè)方面的內(nèi)容:
    (1)對(duì)系統(tǒng)指定的標(biāo)準(zhǔn)設(shè)備的輸入和輸出。即從鍵盤輸入數(shù)據(jù),輸出到顯示器屏幕。這種輸入輸出稱為標(biāo)準(zhǔn)的輸入輸出,簡(jiǎn)稱標(biāo)準(zhǔn)I/O。

    (2)以外存磁盤文件為對(duì)象進(jìn)行輸入和輸出,即從磁盤文件輸入數(shù)據(jù),數(shù)據(jù)輸出到磁盤文件。以外存文件為對(duì)象的輸入輸出稱為文件的輸入輸出,簡(jiǎn)稱文件I/O。

    (3)對(duì)內(nèi)存中指定的空間進(jìn)行輸入和輸出。通常指定一個(gè)字符數(shù)組作為存儲(chǔ)空間(實(shí)際上可以利用該空間存儲(chǔ)任何信息)。這種輸入和輸出稱為字符串輸入輸出,簡(jiǎn)稱串I/O

  • C++的I/O對(duì)C的發(fā)展
    C++編譯系統(tǒng)提供了用于輸入輸出的iostream類庫(kù)。iostream這個(gè)單詞是由3個(gè)部 分組成的,即i-o-stream,意為輸入輸出流。在iostream類庫(kù)中包含許多用于輸入輸出的 類。常用的見表

在這里插入圖片描述
os是抽象基類,由它派生出istream類和ostream類,兩個(gè)類名中第1個(gè)字母i和o分別代表輸入(input)和輸出(output)。 istream類支持輸入操作,ostream類支持輸出操作, iostream類支持輸入輸出操作。iostream類是從istream類和ostream類通過(guò)多重繼承而派生的類。其繼承層次見上圖表示。

C++對(duì)文件的輸入輸出需要用ifstrcam和ofstream類,兩個(gè)類名中第1個(gè)字母i和o分別代表輸入和輸出,第2個(gè)字母f代表文件 (file)。ifstream支持對(duì)文件的輸入操作, ofstream支持對(duì)文件的輸出操作。類ifstream繼承了類istream,類ofstream繼承了類ostream,類fstream繼承了 類iostream。見圖
在這里插入圖片描述

18.1.1 與iostream類庫(kù)有關(guān)的頭文件

iostream類庫(kù)中不同的類的聲明被放在不同的頭文件中,用戶在自己的程序中用#include命令包含了有關(guān)的頭文件就相當(dāng)于在本程序中聲明了所需 要用到的類??梢該Q —種說(shuō)法:頭文件是程序與類庫(kù)的接口,iostream類庫(kù)的接口分別由不同的頭文件來(lái)實(shí)現(xiàn)。常用的有

  • iostream 包含了對(duì)輸入輸出流進(jìn)行操作所需的基本信息。
  • fstream 用于用戶管理的文件的I/O操作。
  • strstream 用于字符串流I/O。
  • stdiostream 用于混合使用C和C + +的I/O機(jī)制時(shí),例如想將C程序轉(zhuǎn)變?yōu)镃++程序。
  • iomanip 在使用格式化I/O時(shí)應(yīng)包含此頭文件。

18.1.2 在iostream頭文件中定義的流對(duì)象

在 iostream 頭文件中定義的類有 ios,istream,ostream,iostream,istream _withassign, ostream_withassign,iostream_withassign 等。

在iostream頭文件中不僅定義了有關(guān)的類,還定義了4種流對(duì)象:
在這里插入圖片描述

18.1.3 在iostream頭文件中重載運(yùn)算符

“<<”和“>>”本來(lái)在C++中是被定義為左位移運(yùn)算符和右位移運(yùn)算符的,由于在iostream頭文件中對(duì)它們進(jìn)行了重載, 使它們能用作標(biāo)準(zhǔn)類型數(shù)據(jù)的輸入和輸出運(yùn)算符。所以,在用它們的程序中必須用#include命令把iostream包含到程序中。
在這里插入圖片描述

18.2 標(biāo)準(zhǔn)I/O流

標(biāo)準(zhǔn)I/O對(duì)象:cin,cout,cerr,clog
1、cout流對(duì)象:cout是console output的縮寫,意為在控制臺(tái)(終端顯示器)的輸出。強(qiáng)調(diào)幾點(diǎn)。

  • (1)cout不是C++預(yù)定義的關(guān)鍵字,它是ostream流類的對(duì)象,在iostream中定義。 顧名思義,流是流動(dòng)的數(shù)據(jù),cout流是流向顯示器的數(shù)據(jù)。cout流中的數(shù)據(jù)是用流插入運(yùn)算符“<<”順序加入的。如果有
    cout<<"I "<<"study C++ "<<"very hard. << “wang bao ming ";
    按順序?qū)⒆址?#34;I ", "study C++ ", "very hard.“插人到cout流中,cout就將它們送到顯示器,在顯示器上輸出字符串"I study C++ very hard.”。cout流是容納數(shù)據(jù)的載體,它并不是一個(gè)運(yùn)算符。人們關(guān)心的是cout流中的內(nèi)容,也就是向顯示器輸出什么。

  • (3)用“ccmt<<”輸出基本類型的數(shù)據(jù)時(shí),可以不必考慮數(shù)據(jù)是什么類型,系統(tǒng)會(huì)判斷數(shù)據(jù)的類型,并根據(jù)其類型選擇調(diào)用與之匹配的運(yùn)算符重 載函數(shù)。這個(gè)過(guò)程都是自動(dòng)的,用戶不必干預(yù)。如果在C語(yǔ)言中用prinf函數(shù)輸出不同類型的數(shù)據(jù),必須分別指定相應(yīng)的輸出格式符,十分麻煩,而且容易出 錯(cuò)。C++的I/O機(jī)制對(duì)用戶來(lái)說(shuō),顯然是方便而安全的。

  • (3)cout流在內(nèi)存中對(duì)應(yīng)開辟了一個(gè)緩沖區(qū),用來(lái)存放流中的數(shù)據(jù),當(dāng)向cout流插 人一個(gè)endl時(shí),不論緩沖區(qū)是否已滿,都立即輸出流中所有數(shù)據(jù),然后插入一個(gè)換行符, 并刷新流(清空緩沖區(qū))。注意如果插人一個(gè)換行符”\n“(如cout<<a<<“\n”),則只輸出和換行,而不刷新cout 流(但并不是所有編譯系統(tǒng)都體現(xiàn)出這一區(qū)別)。

  • (4)在iostream中只對(duì)"<<“和”>>“運(yùn)算符用于標(biāo)準(zhǔn)類型數(shù)據(jù)的輸入輸出進(jìn)行了重載,但未對(duì)用戶聲明的類型數(shù)據(jù)的輸入輸出 進(jìn)行重載。如果用戶聲明了新的類型,并希望用”<<“和”>>"運(yùn)算符對(duì)其進(jìn)行輸入輸出,按照重運(yùn)算符重載來(lái)做。

2、cerr流對(duì)象

  • cerr流對(duì)象是標(biāo)準(zhǔn)錯(cuò)誤流,cerr流已被指定為與顯示器關(guān)聯(lián)。cerr的 作用是向標(biāo)準(zhǔn)錯(cuò)誤設(shè)備(standard error device)輸出有關(guān)出錯(cuò)信息。cerr與標(biāo)準(zhǔn)輸出流cout的作用和用法差不多。但有一點(diǎn)不同:cout流通常是傳送到顯示器輸出,但也可以被重定向 輸出到磁盤文件,而cerr流中的信息只能在顯示器輸出。當(dāng)調(diào)試程序時(shí),往往不希望程序運(yùn)行時(shí)的出錯(cuò)信息被送到其他文件,而要求在顯示器上及時(shí)輸出,這時(shí) 應(yīng)該用cerr。cerr流中的信息是用戶根據(jù)需要指定的。

3、clog流對(duì)象

  • clog流對(duì)象也是標(biāo)準(zhǔn)錯(cuò)誤流,它是console log的縮寫。它的作用和cerr相同,都是在終端顯示器上顯示出錯(cuò)信息。區(qū)別:cerr是不經(jīng)過(guò)緩沖區(qū),直接向顯示器上輸出有關(guān)信息,而clog中的信息存放在緩沖區(qū)中,緩沖區(qū)滿后或遇endl時(shí)向顯示器輸出。

4、緩沖區(qū)的概念:
在這里插入圖片描述

18.2.1 標(biāo)準(zhǔn)輸入流

標(biāo)準(zhǔn)輸入流對(duì)象cin,重點(diǎn)掌握的函數(shù)

      cin.get() //一次只能讀取一個(gè)字符  遇到EOF結(jié)束cin.get(一個(gè)參數(shù)) //讀一個(gè)字符cin.get(兩個(gè)參數(shù)) //可以讀字符串cin.getline()cin.ignore()cin.peek()cin.putback()

cin.get()

  • 1、獲取單個(gè)字符

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述
也可以這樣:
在這里插入圖片描述
在這里插入圖片描述

  • 2、獲取字符串
    在這里插入圖片描述
    運(yùn)行結(jié)果:
    在這里插入圖片描述

cin.getline()

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

cin.ignore()

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

cin.peek()

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

cin.putback()

在這里插入圖片描述
在這里插入圖片描述
完整示例代碼:

#include <iostream>using namespace std;int main()
{char ch;char buf[32] = {0};// cin >> ch;// cout << ch << endl;// ch = cin.get();// cout << ch << endl;// cin.get(ch);// cout << ch << endl;// cin.get(buf, 10);   //獲取字符串,最多10個(gè)字節(jié)// cout << buf << endl;// cin.getline(buf, 10);   //獲取一行數(shù)據(jù),最多10個(gè)字節(jié)// cout << buf << endl;// cin.ignore(5);    //忽略前5個(gè)字節(jié)// cin >> buf;// cout << buf << endl;// ch = cin.peek();    //獲取一個(gè)字符,同時(shí)字符還留在緩沖區(qū)// cout << ch << endl;// cin >> buf; // 把前面留在緩沖區(qū)里面的字符放進(jìn)buf里面// cout << buf << endl;cin >> ch;cin.putback(ch);    //把ch放回緩沖區(qū)cin >> buf;cout << buf << endl;return 0;
}

18.2.2 標(biāo)準(zhǔn)輸出流

1、標(biāo)準(zhǔn)輸出流對(duì)象cout(成員函數(shù)形式)

cout.flush()

cout.put()

cout.write()

cout.width() 設(shè)置輸出字符串的長(zhǎng)度

cout.fill() 填補(bǔ)輸出的字符串

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

cout.setf( ) 設(shè)置輸出格式

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

cout.precision( ) 設(shè)置輸出位數(shù)

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

2、manipulator(操作符、控制符)

flush

endl

oct 八進(jìn)制

dec 十進(jìn)制

hex 十六進(jìn)制

setbase

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

setw 設(shè)置輸出字符串的長(zhǎng)度

setfill 填補(bǔ)字符串

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

setprecision 設(shè)置輸出的位數(shù)

在這里插入圖片描述
輸出結(jié)果:
在這里插入圖片描述

完整示例代碼:

#include <iostream>
#include <iomanip>using namespace std;int main()
{//使用控制符的方法// int num = 1000;// cout << oct << num << endl;         //八進(jìn)制輸出// cout << dec << num << endl;         //十進(jìn)制輸出// cout << hex << num << endl;         //十六進(jìn)制輸出// cout << setbase(8) << num << endl; // 只能是8 10 16 // cout << setbase(4) << num << endl; // 如果是其他值,自動(dòng)轉(zhuǎn)為十進(jìn)制輸出// double PI = 22222.0000 / 7.00000;// cout << PI << endl;// cout << setprecision(15) << PI << endl; // 15個(gè)數(shù)字// cout << setprecision(5) << setiosflags(ios::scientific) << PI << endl; // 科學(xué)計(jì)數(shù)法(保留五位小數(shù))// const char *s = "helloworld";// cout << setw(15) << setfill('*') << s << endl; // 設(shè)置長(zhǎng)度為15的字符串,多余的以*填補(bǔ)//使用成員函數(shù)的方式// int num = 1000;// cout.unsetf(ios::dec);    //結(jié)束十進(jìn)制格式輸出// cout.setf(ios::oct);      //設(shè)置八進(jìn)制格式輸出// cout << num << endl;// cout.unsetf(ios::oct); // 結(jié)束八進(jìn)制格式輸出// cout.setf(ios::hex); // 設(shè)置十六進(jìn)制格式輸出// cout << num << endl;// double PI = 2222.000 / 7.000;// cout.precision(5);// cout << PI << endl;// cout.setf(ios::scientific);// cout << PI << endl;const char *s = "helloworld";cout.width(15);  // 字符串輸出寬帶為15位cout.fill('*');  // 多余的用 * 代替cout << s << endl;return 0;
}

18.3 文件I/O

和文件有關(guān)系的輸入輸出類主要在fstream.h這個(gè)頭文件中被定義,在這個(gè)頭文件中主要被定義了三個(gè)類,由這三個(gè)類控制對(duì)文件的各種輸入輸出操 作,他們分別是ifstream、ofstream、fstream,其中fstream類是由iostream類派生而來(lái),他們之間的繼承關(guān)系見下圖所 示。
在這里插入圖片描述

由于文件設(shè)備并不像顯示器屏幕與鍵盤那樣是標(biāo)準(zhǔn)默認(rèn)設(shè)備,所以它在fstream.h頭文件中是沒有像cout那樣預(yù)先定義的全局對(duì)象,所以我們必須自己定義一個(gè)該類的對(duì)象。
ifstream類,它是從istream類派生的,用來(lái)支持從磁盤文件的輸入。
ofstream類,它是從ostream類派生的,用來(lái)支持向磁盤文件的輸出。
fstream類,它是從iostream類派生的,用來(lái)支持對(duì)磁盤文件的輸入輸出。

18.3.1 ofstream類,創(chuàng)建輸出流對(duì)象

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

18.3.2 ifstream類,創(chuàng)建輸入流對(duì)象

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述

18.3.3 fstream類,創(chuàng)建輸入輸出流對(duì)象(兩種都能干)

在這里插入圖片描述
運(yùn)行結(jié)果:
在這里插入圖片描述
在這里插入圖片描述

http://www.risenshineclean.com/news/7599.html

相關(guān)文章:

  • 網(wǎng)站簡(jiǎn)單代碼重慶網(wǎng)站制作公司
  • 有沒有做專利導(dǎo)航運(yùn)營(yíng)的網(wǎng)站seo關(guān)鍵詞優(yōu)化報(bào)價(jià)價(jià)格
  • 自己做的網(wǎng)站外國(guó)人能訪問嗎口碑營(yíng)銷方案
  • asp.net實(shí)用網(wǎng)站開發(fā)沈陽(yáng)網(wǎng)絡(luò)關(guān)鍵詞排名
  • 衡水做網(wǎng)站的seo技術(shù)優(yōu)化服務(wù)
  • 靜安網(wǎng)站建設(shè)哪里有最近新聞報(bào)道
  • wordpress bbpress編輯器前端性能優(yōu)化
  • app展示網(wǎng)站模板htmlseo教學(xué)實(shí)體培訓(xùn)班
  • 犀牛云 做網(wǎng)站百度指數(shù)資訊指數(shù)是指什么
  • 建設(shè)網(wǎng)站企業(yè)登錄百度怎么提交收錄
  • 網(wǎng)站 www ftp功能fifa最新世界排名
  • 小程序開發(fā)和網(wǎng)站開發(fā)的區(qū)別seo綜合查詢站長(zhǎng)工具
  • 分享類網(wǎng)站怎么做百度關(guān)鍵詞seo優(yōu)化
  • 大數(shù)據(jù)營(yíng)銷是做什么的網(wǎng)站是怎么優(yōu)化推廣的
  • 宣武做網(wǎng)站百度推廣怎么登錄
  • ui做的好的網(wǎng)站有哪些內(nèi)容百度一下馬上知道
  • 專業(yè)網(wǎng)站建設(shè)西安seo網(wǎng)站排名
  • 網(wǎng)頁(yè)版1688免費(fèi)網(wǎng)站做seo
  • 威海網(wǎng)頁(yè)設(shè)計(jì)制作公司自己怎么優(yōu)化網(wǎng)站
  • php做的網(wǎng)站畢設(shè)會(huì)問的問題100大看免費(fèi)行情的軟件
  • 漯河市住房建設(shè)局網(wǎng)站百度指數(shù)查詢手機(jī)版app
  • 長(zhǎng)春做網(wǎng)站多少錢今日熱點(diǎn)新聞15條
  • 奢做品二手 哪個(gè)網(wǎng)站好獨(dú)立站建站平臺(tái)
  • 怎么通過(guò)淘寶優(yōu)惠券做網(wǎng)站賺錢網(wǎng)絡(luò)營(yíng)銷的平臺(tái)有哪些
  • 惠陽(yáng)做網(wǎng)站百度推廣助手手機(jī)版
  • 網(wǎng)站建設(shè)質(zhì)量保證域名ip地址在線查詢
  • 做網(wǎng)站的目標(biāo)是什么大型網(wǎng)站制作
  • 垣曲網(wǎng)站建設(shè)歐美網(wǎng)站建設(shè)
  • wordpress 電影moban百度搜索seo優(yōu)化技巧
  • 成都商城類網(wǎng)站設(shè)計(jì)淘寶店鋪怎么引流推廣