本章內容為coursera課程c++程式設計中第七周的課件的整理
與輸入輸出流操作相關的類
istream是用於輸入的流類, cin就是該類的物件。
ostream是用於輸出的流類, cout就是該類的物件。
ifstream是用於從檔案讀取資料的類。
ofstream是用於向檔案寫入資料的類。
iostream是既能用於輸入,又能用於輸出的類。
fstream 是既能從檔案讀取資料,又能向檔案寫入資料的類。
標準流物件
輸入流物件: cin 與標準輸入裝置相連
輸出流物件: cout 與標準輸出裝置相連
cerr 與標準錯誤輸出裝置相連
clog 與標準錯誤輸出裝置相連
預設情況下
cerr << "hello,world" << endl;
clog << "hello,world" << endl;
和cout << 「 hello,world」 << endl; 一樣
cin對應於標準輸入流,用於從鍵盤讀取資料,也可以被重定向為從檔案中讀取資料。
cout對應於標準輸出流,用於向螢幕輸出資料,也可以被重定向為向檔案寫入資料。
cerr對應於標準錯誤輸出流,用於向螢幕輸出出錯資訊,
clog對應於標準錯誤輸出流,用於向螢幕輸出出錯資訊,
cerr和clog的區別在於cerr不使用緩衝區,直接向顯示器輸出資訊;而輸出到clog中的資訊先會被存放在緩衝區,
緩衝區滿或者重新整理時才輸出到螢幕。
輸出重定向
#include using namespace std;
int main()
#include using namespace std;
int main()
return 0;
如果是從檔案輸入,比如前面有freopen(「some.txt」,」r」,stdin);那麼,讀到檔案尾部,輸入流就算結束。
如果從鍵盤輸入,則在單獨一行輸入ctrl+z代表輸入流結束。
istream類的成員函式
istream & getline(char * buf, int bufsize);
從輸入流中讀取bufsize-1個字元到緩衝區buf,或讀到碰到『 \n』為止(哪個先到算哪個) 。
istream & getline(char * buf, int bufsize,char delim);
從輸入流中讀取bufsize-1個字元到緩衝區buf,或讀到碰到delim字元為止(哪個先到算哪個) 。
兩個函式都會自動在buf中讀入資料的結尾新增'\0'。『 \n』或delim都不會被讀入buf,但會被從輸入流中取走。 如果輸入流中『 \n』或delim之前的字元個數
達到或超過了bufsize個,就導致讀入出錯,其結果就是:雖然本次讀入已經完成,但是之後的讀入就都會失敗了。
可以用 if(!cin.getline(…)) 判斷輸入是否結束
bool
eof(); 判斷輸入流是否結束
int peek(); 返回下乙個字元,但不從流中去掉.
istream &
putback(char c); 將字元ch放回輸入流
istream &
ignore( int ncount = 1, int delim = eof );從流中刪掉最多ncount個字元,遇到eof時結束。
#include using namespace std;
int main()
輸入:
12 abcd↙
輸出:abcd (空格+abcd)
輸入12↙
程式立即結束,輸出:
12//getline依舊會在buf裡新增'\0',故輸出乙個空串。
因為getline讀到留在流中的』\n』就會返回
輸入和輸出
1 c 的io機制 c 沒有提供關於輸入輸出的語句,但是提供了全面的標準庫來提供io機制。這個標準庫就是iostream庫。許多與io相關的操作都要包含這個庫。2 4個io物件 3 cin的輸入分隔符為空格 4 操縱符 endl endl的作用是結束當前行,並將與裝置關聯的緩衝區資料重新整理到裝置中...
輸入和輸出
安裝pycharm 輸出 就只有乙個語句 print 1 usr bin python2 coding utf 8 34 print hello world 列印出結果,python 有一點比較方便的就是不用管是什麼資料型別,直接列印即可。但是其輸出也有一定的輸出格式 1.輸出不同的進製 1 pri...
輸入和輸出
標頭檔案 變數約定 file fin,fout fin fout分別代表輸入檔案和輸出檔案。把它們換成stdin和stdout,就是從螢幕輸入和從螢幕輸出。1.5 字串操作 也使用了同樣的變數。輸出字串或變數的值 printf 格式字串 或fprintf fout,格式字串 格式字元 後連線乙個字母...