精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

C++ 基本的輸入輸出

c++ 基本的輸入輸出

c++ 標準庫提供了一組豐富的輸入/輸出功能,我們將在后續的章節進行介紹。本章將討論 c++ 編程中最基本和最常見的 i/o 操作。

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

 

1. i/o 庫頭文件

下列的頭文件在 c++ 編程中很重要。

頭文件 函數和描述
該文件定義了 cin、cout、cerrclog 對象,分別對應于標準輸入流、標準輸出流、非緩沖標準錯誤流和緩沖標準錯誤流。
該文件通過所謂的參數化的流操縱器(比如 setwsetprecision),來聲明對執行標準化 i/o 有用的服務。
該文件為用戶控制的文件處理聲明服務。我們將在文件和流的相關章節討論它的細節。

 

2. 標準輸出流(cout)

預定義的對象 coutostream 類的一個實例。cout 對象"連接"到標準輸出設備,通常是顯示屏。cout 是與流插入運算符 << 結合使用的,如下所示:

#include  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 用于在行末添加一個換行符。

 

3. 標準輸入流(cin)

預定義的對象 cinistream 類的一個實例。cin 對象附屬到標準輸入設備,通常是鍵盤。cin 是與流提取運算符 >> 結合使用的,如下所示:

#include  using namespace std;
 
int main( )
{
    char name[50];
    cout << "請輸入您的名稱: ";
    cin >> name;
    cout << "您的名稱是: " << name << endl;   
} 

當上面的代碼被編譯和執行時,它會提示用戶輸入名稱。當用戶輸入一個值,并按回車鍵,就會看到下列結果:

請輸入您的名稱: cplusplus
您的名稱是: cplusplus

c++ 編譯器根據要輸入值的數據類型,選擇合適的流提取運算符來提取值,并把它存儲在給定的變量中。

流提取運算符 >> 在一個語句中可以多次使用,如果要求輸入多個數據,可以使用如下語句:

cin >> name >> age;

這相當于下面兩個語句:

cin >> name;
cin >> age;

 

4. 標準錯誤流(cerr)

預定義的對象 cerrostream 類的一個實例。cerr 對象附屬到標準錯誤設備,通常也是顯示屏,但是 cerr 對象是非緩沖的,且每個流插入到 cerr 都會立即輸出。

cerr 也是與流插入運算符 << 結合使用的,如下所示:

#include  using namespace std;
 
int main( )
{
   char str[] = "unable to read....";
   cerr << "error message : " << str << endl; 
} 

當上面的代碼被編譯和執行時,它會產生下列結果:

error message : unable to read....

 

5. 標準日志流(clog)

預定義的對象 clogostream 類的一個實例。clog 對象附屬到標準錯誤設備,通常也是顯示屏,但是 clog 對象是緩沖的。這意味著每個流插入到 clog 都會先存儲在緩沖區中,直到緩沖填滿或者緩沖區刷新時才會輸出。

clog 也是與流插入運算符 << 結合使用的,如下所示:

#include  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 流來輸出。

下一節:c++ 結構 struct

c++ 簡介

相關文章