C++基礎知識篇:C++ 基本的輸入輸出


​C++ 標準庫提供了一組豐富的輸入/輸出功能,咱們將在後續的章節進行介紹。本章將討論 C++ 編程中最基本和最多見的 I/O 操做。

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

 

C/C++的學習裙【七一二 二八四 七零五 】,不管你是小白仍是進階者,是想轉行仍是想入行均可以來了解一塊兒進步一塊兒學習!裙內有開發工具,不少乾貨和技術資料分享!點擊這段文字進入羣聊編程

I/O 庫頭文件

下列的頭文件在 C++ 編程中很重要。網絡

編輯

標準輸出流(cout)

預約義的對象 cout 是 iostream 類的一個實例。cout 對象"鏈接"到標準輸出設備,一般是顯示屏。cout 是與流插入運算符 << 結合使用的,以下所示:app

  • #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 型、字符串和指針)的數據項。spa

流插入運算符 << 在一個語句中能夠屢次使用,如上面實例中所示,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 流來輸出。

相關文章
相關標籤/搜索