2015-07-01 46 views
0

我讀過cout和cin是類std :: istream和std :: ostream的對象。有沒有用戶定義的對象,如cout和cin?在C++中創建istream和ostream對象

例如。 我怎樣才能做這樣的事情:

 ostream obj; 
    obj<<"string"<<endl; 

編輯1:我想定義的對象可以複製cout和CIN沒有與他們的內置的定義搞亂。

+0

所以你只想引用他們....?如果不是這種情況,請詳細說明。 – NaCl

+1

這是很不清楚你問的。這些新流如何與cin和cout不同?你是指「不干擾他們的內置定義」是什麼意思? – 0x499602D2

回答

0

是的,你可以創建任何你想要的流。

由於流數據與源和匯流,你通常要使用下列之一:

  • std::stringstream - 添加數據自己,訪問它以流的形式
  • std::{i,o}fstream - 數據來自/去到一個文件

std::coutstd::cin是碰巧分別連接到標準輸出和標準輸入流的特定情況下,但有沒有理由你不能製作你自己的流媒體。

你只需要精確和知道你真正想讓他們做什麼。

0

要處理字符串,我建議使用std::stringstream
std :: stringstream類是從istream派生的。

std::stringstream obj; 

obj << "Hello World" << endl; 
// You can convert it to a string afterwards 
std::string myString = obj.str();