?C++ 標準庫提供了一組豐富的輸入/輸出功能,我們將在后續的章節進行介紹,本章將討論 C++ 編程中最基本和最常見的 I/O 操作,
C++ 的 I/O 發生在流中,流是位元組序列,如果位元組流是從設備(如鍵盤、磁盤驅動器、網路連接等)流向記憶體,這叫做輸入操作,如果位元組流是從記憶體流向設備(如顯示屏、列印機、磁盤驅動器、網路連接等),這叫做輸出操作,
C/C++的學習裙【七一二 二八四 七零五 】,無論你是小白還是進階者,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!點擊這段文字進入群聊
I/O 庫頭檔案
下列的頭檔案在 C++ 編程中很重要,
標準輸出流(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 型、字串和指標)的資料項,
流插入運算子 << 在一個陳述句中可以多次使用,如上面實體中所示,endl 用于在行末添加一個換行符,
標準輸入流(cin)
預定義的物件 cin 是 iostream 類的一個實體,cin 物件附屬到標準輸入設備,通常是鍵盤,cin 是與流提取運算子 >> 結合使用的,如下所示:
-
#include <iostream>
using namespace std;
int main( )
{
char name[50];
cout << "請輸入您的名稱:";
cin >> name;
cout << "您的名稱是:" << name << endl;
}
當上面的代碼被編譯和執行時,它會提示用戶輸入名稱,當用戶輸入一個值,并按回車鍵,就會看到下列結果:
請輸入您的名稱: cplusplus
您的名稱是: cplusplus
C++ 編譯器根據要輸入值的資料型別,選擇合適的流提取運算子來提取值,并把它存盤在給定的變數中,
流提取運算子 >> 在一個陳述句中可以多次使用,如果要求輸入多個資料,可以使用如下陳述句:
cin >> name >> age;
這相當于下面兩個陳述句:
cin >> name;
cin >> age;
標準錯誤流(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....
當上面的代碼被編譯和執行時,它會產生下列結果:
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....
通過這些小實體,我們無法區分 cout、cerr 和 clog 的差異,但在撰寫和執行大型程式時,它們之間的差異就變得非常明顯,所以良好的編程實踐告訴我們,使用 cerr 流來顯示錯誤訊息,而其他的日志訊息則使用 clog 流來輸出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/239430.html
標籤:其他
上一篇:大廠面試系列一些問題的解答
下一篇:面向物件三大特征
