您好,登錄后才能下訂單哦!
沒看懂,以后上。
2012-3-26
C++的輸入輸出由標準庫提供。標準庫定義了一族類型,支持對文件和控制窗口等設備的讀寫。
主要有下面幾個類型:
iostream
istream從流中讀取
ostream:寫到流中去
iostream:對流進行讀寫;從istream和ostream派生而來
fstream
ifstream:從文件中讀取;由istream派生
ofstream:寫到文件中去;由ostream派生
fstream:讀寫文件;由isstream派生
sstream
istringstream:從string隊形中讀取,由istream派生
ostringstream:寫到string中去;由ostream派生
stringstream:對string對象進行讀寫;由iostream派生
流狀態查詢和管理
IO標準庫管理了一系列的條件狀態成員,用來標記給定的IO對象是否處于可用范圍,或者碰到了哪種特定的錯誤。
可以用下列函數判定文件流狀態:
is_open():判定流對象是否與一個打開的文件相聯系,若是,返回trun,否則返回false;
good():剛進行的操作成功時返回true,否則返回false;
fail():與good()相反,剛進行的操作失敗時返回true,否則返回false;
bad():如果進行了非法操作返回true,否則返回false;
eof():進行輸入操作時,若到達文件尾返回true,否則返回false;
如下面的語句,就可以在保證輸入正確的情況下執行循環體。
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"); //向流中輸出內容 SaveFile << "Hello,"<<name; //關閉流 SaveFile.close(); }
#include <iostream> #include <fstream> using namespace std; int main() { int i; //輸出內容 /* fstream File("test.txt",ios::in | ios::out); while(!File.eof()) { //空格作為單詞的分隔符進行讀取 File>>i; cout << i << endl; }*/ //輸入內容 fstream File("test.txt",ios::out|ios::app); cout<<"Add number"<<endl; //File.seekg(ios::beg); while(cin>>i) { File<<i; File<<" "; } File.close(); }
in|out 打開文件做讀寫操作,并定位于文件開頭處
in|out|trunc 打開文件做讀寫操作,刪除文件中已有的數據
字符串流
iostream標準庫支持內存中的輸入\輸出,只要將流與存儲在程序內存中的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; }
例子的重點在于int型值自動轉換為等價的可打印的字符串。
2012-11-9
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。