在C ++中创建istream和ostream对象

时间:2015-07-01 15:21:57

标签: c++ object iostream ostream

我读到cout和cin是类std :: istream和std :: ostream的对象。可以有用户定义的对象,如cout和cin?

例如。 我怎么能这样做:

double

编辑1:我想定义一个可以复制cout和cin而不会弄乱内置定义的对象。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

是的,您可以创建所需的任何流。

由于流是包含源和接收器的数据流,因此您通常希望使用以下任一项:

  • std::stringstream - 自行添加数据,以流形式访问
  • std::{i,o}fstream - 数据来自/转到文件

std::coutstd::cin是恰好分别连接到STDOUT和STDIN的流的特定实例,但没有理由不能创建自己的流。

您必须精确且了解您实际希望他们做什么。