基本的輸入輸出
C++ 的 I/O 發生在流中,流是字節序列。如果字節流是從設備(如鍵盤、磁盤驅動器、網絡連接等)流向內存,這叫做輸入操作。如果字節流是從內存流向設備(如顯示屏、打印機、磁盤驅動器、網絡連接等),這叫做輸出操作。
一、I/O 庫頭文件

二、標准輸出流 cout
預定義的對象 cout 是 iostream 類的一個實例。cout 對象"連接"到標准輸出設備,通常是顯示屏。cout 是與流插入運算符 << 結合使用的
#include <iostream> using namespace std; int main( ) { char str[] = "Hello C++"; cout << "Value of str is : " << str << endl; }
結果:
Value of str is : Hello C++
C++ 編譯器根據要輸出變量的數據類型,選擇合適的流插入運算符來顯示值。
<< 運算符被重載來輸出內置類型(整型、浮點型、double 型、字符串和指針)的數據項。
流插入運算符 << 在一個語句中可以多次使用
三、標准輸入流 cin
預定義的對象 cin 是 iostream 類的一個實例。cin 對象附屬到標准輸入設備,通常是鍵盤。cin 是與流提取運算符 >> 結合使用的
#include <iostream> using namespace std; int main( ) { char name[50]; cout << "請輸入您的名稱: "; cin >> name; cout << "您的名稱是: " << name << endl; }
結果:
請輸入您的名稱: cplusplus
您的名稱是: cplusplus
C++ 編譯器根據要輸入值的數據類型,選擇合適的流提取運算符來提取值,並把它存儲在給定的變量中。
流提取運算符 >> 在一個語句中可以多次使用
四、標准錯誤流 cerr
cerr 是 iostream 類的一個實例。cerr 對象附屬到標准錯誤設備,通常也是顯示屏,但是 cerr 對象是非緩沖的,且每個流插入到 cerr 都會立即輸出。
cerr 也是與流插入運算符 << 結合使用的
#include <iostream> using namespace std; int main( ) { char str[] = "Unable to read...."; cerr << "Error message : " << str << endl; }
結果:
Error message : Unable to read....
五、標准日志流 clog
clog 是 iostream 類的一個實例。clog 對象附屬到標准錯誤設備,通常也是顯示屏,但是 clog 對象是緩沖的。這意味着每個流插入到 clog 都會先存儲在緩沖在,直到緩沖填滿或者緩沖區刷新時才會輸出。
clog 也是與流插入運算符 << 結合使用的
#include <iostream> using namespace std; int main( ) { char str[] = "Unable to read...."; clog << "Error message : " << str << endl; }
結果:
Error message : Unable to read....
使用 cerr 流來顯示錯誤消息,而其他的日志消息則使用 clog 流來輸出
六、輸入輸出流中的函數




