c++中最基本的i/o操作
c++ 的 i/o 發生在流中,流是位元組序列。如果位元組流是從裝置(如鍵盤、磁碟驅動器、網路連線等)流向記憶體,這叫做輸入操作。如果位元組流是從記憶體流向裝置(如顯示屏、印表機、磁碟驅動器、網路連線等),這叫做輸出操作。
該檔案定義了 cin、cout、cerr 和 clog 物件,分別對應於標準輸入流、標準輸出流、非緩衝標準錯誤流和緩衝標準錯誤流。
該檔案通過所謂的引數化的流操縱器(比如 setw 和 setprecision),來宣告對執行標準化 i/o 有用的服務。
該檔案為使用者控制的檔案處理宣告服務。在檔案和流的相關章節討論它的細節。
標準輸出流(cout)
預定義的物件 cout 是 iostream 類的乙個例項。cout 物件"連線"到標準輸出裝置,通常是顯示屏。cout 是與流插入運算子 << 結合使用的,如下所示:
#include
using
namespace std;
intmain()
當上面的**被編譯和執行時,它會產生下列結果:
value of str is : hello c++
c++ 編譯器根據要輸出變數的資料型別,選擇合適的流插入運算子來顯示值。<< 運算子被過載來輸出內建型別(整型、浮點型、double 型、字串和指標)的資料項。
流插入運算子 << 在乙個語句中可以多次使用,如上面例項中所示,endl 用於在行末新增乙個換行符。(類似c語言中\n)
標準輸入流(cin)
預定義的物件 cin 是 iostream 類的乙個例項。cin 物件附屬到標準輸入裝置,通常是鍵盤。cin 是與流提取運算子 >> 結合使用的,如下所示:
#include
using
namespace std;
intmain()
當上面的**被編譯和執行時,它會提示使用者輸入名稱。當使用者輸入乙個值,並按回車鍵,就會看到下列結果:
請輸入您的名稱: cplusplus
您的名稱是: cplusplus
c++ 編譯器根據要輸入值的資料型別,選擇合適的流提取運算子來提取值,並把它儲存在給定的變數中。
流提取運算子 >> 在乙個語句中可以多次使用,如果要求輸入多個資料,可以使用如下語句:
cin >> name >> age;
這相當於下面兩個語句:
cin >> name;
cin >> age;
標準錯誤流(cerr)
預定義的物件 cerr 是 iostream 類的乙個例項。cerr 物件附屬到標準錯誤裝置,通常也是顯示屏,但是 cerr 物件是非緩衝的,且每個流插入到 cerr 都會立即輸出。
cerr 也是與流插入運算子 << 結合使用的,如下所示:
#include
using
namespace std;
intmain()
當上面的**被編譯和執行時,它會產生下列結果:
error message : unable to read…
輸入方面問題不多,輸出方面主要分為三個cout、cerr、clog。
cout:寫到標準輸出的ostream物件;
cerr:輸出到標準錯誤的ostream物件,通常用來輸出警告和錯誤資訊給程式的使用者;
clog:也是輸出標準錯誤流(和cerr是一樣的),用於產生程式執行的一般資訊,很少用到。
區別1、cout經過緩衝後輸出,預設情況下是顯示器。這是乙個被緩衝的輸出,是標準輸出;它在記憶體中對應開闢了乙個緩衝區,用來存放流中的資料,當向cout流插入乙個endl,不論緩衝區是否滿了,都立即輸出流中所有資料,然後插入乙個換行符. 可以被輸出到檔案,即可以重定向輸出。
2、cerr不經過緩衝而直接輸出,一般用於迅速輸出出錯資訊,是標準錯誤,預設情況下被關聯到標準輸出流,但它不被緩衝,也就說錯誤訊息可以直接傳送到顯示器,而無需等到緩衝區或者新的換行符時,才被顯示。
3、clog流也是標準錯誤流,作用和cerr一樣,區別在於cerr不經過緩衝區,直接向顯示器輸出資訊,而clog中的資訊存放在緩衝區,緩衝區滿或者遇到endl時才輸出.
緩衝區的目的,就是減少刷屏的次數,如果不經過快取區,那麼就以瞬間輸出,如果經過快取區,那就等待快取區滿或者有換行符。
通過這些小例項,無法區分 cout、cerr 和 clog 的差異,但在編寫和執行大型程式時,它們之間的差異就變得非常明顯。
所以良好的程式設計實踐告訴我們,使用 cerr 流來顯示錯誤訊息,而其他的日誌訊息則使用 clog 流來輸出。(通知)
C 基本輸入 輸出
c 基本輸入 輸出 本文將學習如何使用cin物件從使用者那裡獲取輸入,並使用cout物件在示例的幫助下向使用者顯示輸出。c 輸出 在c 中,cout將格式化的輸出傳送到標準輸出裝置,例如螢幕。將cout物件與 運算子一起使用以顯示輸出。示例1 字串輸出 include using namespace...
C 基本輸入 輸出
在c 中定義了通過輸入 輸出流 i o流 的方法進行輸入輸出操作。在i o流中,輸入操作是通過cin 來實現的,而輸出操作是通過cout來實現的。cin 和cout都是在標頭檔案iostream中定義的,所以在程式中首先要包含輸入 輸出流的標頭檔案,即 include。cout語句的一般格式為 co...
C 基本輸入 輸出
c 基本輸入 輸出 本文將學習如何使用cin物件從使用者那裡獲取輸入,並使用cout物件在示例的幫助下向使用者顯示輸出。c 輸出 在c 中,cout將格式化的輸出傳送到標準輸出裝置,例如螢幕。將cout物件與 運算子一起使用以顯示輸出。示例1 字串輸出 include using namespace...