成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

再學(xué)C++Primer(8)-標(biāo)準(zhǔn)IO庫

沒看懂,以后上。

成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)建站把每個網(wǎng)站當(dāng)做一個產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

2012-3-26


C++的輸入輸出由標(biāo)準(zhǔn)庫提供。標(biāo)準(zhǔn)庫定義了一族類型,支持對文件和控制窗口等設(shè)備的讀寫。
主要有下面幾個類型:
iostream
istream從流中讀取
ostream:寫到流中去
iostream:對流進(jìn)行讀寫;從istream和ostream派生而來

fstream
ifstream:從文件中讀?。挥蒳stream派生
ofstream:寫到文件中去;由ostream派生
fstream:讀寫文件;由isstream派生

sstream
istringstream:從string隊(duì)形中讀取,由istream派生
ostringstream:寫到string中去;由ostream派生
stringstream:對string對象進(jìn)行讀寫;由iostream派生

流狀態(tài)查詢和管理
IO標(biāo)準(zhǔn)庫管理了一系列的條件狀態(tài)成員,用來標(biāo)記給定的IO對象是否處于可用范圍,或者碰到了哪種特定的錯誤。
可以用下列函數(shù)判定文件流狀態(tài):
is_open():判定流對象是否與一個打開的文件相聯(lián)系,若是,返回trun,否則返回false;
good():剛進(jìn)行的操作成功時返回true,否則返回false;
fail():與good()相反,剛進(jìn)行的操作失敗時返回true,否則返回false;
bad():如果進(jìn)行了非法操作返回true,否則返回false;
eof():進(jìn)行輸入操作時,若到達(dá)文件尾返回true,否則返回false;


如下面的語句,就可以在保證輸入正確的情況下執(zhí)行循環(huán)體。

    int ival;     while(cin>>ival)     {         //do something         cout<<ival<<endl;     }

文件流
首先看一個最簡單的例子.


#include <iostream> #include <fstream> using namespace std;  int main() {     string name;     cin>>name;     //打開一個輸出流     ofstream SaveFile("test.txt");     //向流中輸出內(nèi)容     SaveFile << "Hello,"<<name;    //關(guān)閉流     SaveFile.close(); }

編譯運(yùn)行,在可執(zhí)行程序當(dāng)前目錄下會出現(xiàn)一個text.txt,里面的內(nèi)容就是“Hello,XXX(你輸入的內(nèi)容)”。

再來實(shí)現(xiàn)文件的讀取,并在文件的最后添加內(nèi)容.

#include <iostream> #include <fstream> using namespace std;  int main() {      int i;      //輸出內(nèi)容     /*     fstream File("test.txt",ios::in | ios::out);     while(!File.eof())     {       //空格作為單詞的分隔符進(jìn)行讀取       File>>i;       cout << i << endl;     }*/     //輸入內(nèi)容     fstream File("test.txt",ios::out|ios::app);     cout<<"Add number"<<endl;      //File.seekg(ios::beg);     while(cin>>i)     {         File<<i;         File<<" ";     }      File.close(); } 

各種打開模式
ios::app 使所有輸出到相應(yīng)文件的內(nèi)容都添加到文件末尾,該值只能用于具有輸出功能的文件。

ios::ate  使得在打開文件時能夠定位到文件末尾

ios::binary  可以以二進(jìn)制文件打開,默認(rèn)情況下,所有文件都以文本方式打開。

ios::in  指定為輸入

ios::out 制定我輸出

ios::trunc 銷毀具有相同名字的先前文件的內(nèi)容,并且將文件長度截?cái)酁?,當(dāng)使用ofstream創(chuàng)建一個輸出流時任何先前存在的具有該文件名的文件將被自動截?cái)?br>
組合模式:
out|app 打開文件寫操作,在文件尾寫入

in|out 打開文件做讀寫操作,并定位于文件開頭處

in|out|trunc 打開文件做讀寫操作,刪除文件中已有的數(shù)據(jù)


字符串流

iostream標(biāo)準(zhǔn)庫支持內(nèi)存中的輸入\輸出,只要將流與存儲在程序內(nèi)存中的string對象捆綁起來即可。

書上的例子:

#include<sstream> using namespace std;  int main() { int val1 = 512, val2 = 1024; ostringstream oss_message; oss_message << "val1:" << val1 << "\n" << "val2: " << val2 << "\n"; cout << oss_message.str() << endl; } 

再學(xué)C++ Primer(8)-標(biāo)準(zhǔn)IO庫


例子的重點(diǎn)在于int型值自動轉(zhuǎn)換為等價的可打印的字符串。

2012-11-9

分享名稱:再學(xué)C++Primer(8)-標(biāo)準(zhǔn)IO庫
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article18/gpihgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作品牌網(wǎng)站建設(shè)、企業(yè)建站、營銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)電子商務(wù)

廣告

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

外貿(mào)網(wǎng)站建設(shè)
安阳县| 青田县| 屏东县| 西乌| 龙井市| 石阡县| 石阡县| 东平县| 新野县| 河津市| 赞皇县| 百色市| 百色市| 凌海市| 祁东县| 德化县| 玛多县| 绩溪县| 宜兰县| 广丰县| 水富县| 连山| 邓州市| 定日县| 抚顺市| 柘城县| 黄龙县| 永年县| 包头市| 江陵县| 双牌县| 安阳市| 武城县| 英德市| 永顺县| 福鼎市| 淮安市| 肥乡县| 弥勒县| 全椒县| 泊头市|