C++ istringstream、ostringstream、stringstream类用法详解

文章目录

  • 0 概述
  • 1 istringstream
  • 2 ostringstream
  • 3 stringstream
  • 4 reference


0 概述

C++引入了ostringstream、istringstream、stringstream这三个类,头文件

1 istringstream

istringstream类执行C++风格的串流的输入操作。

  • 定义类型:typedef basic_istringstream istringstream;
  • 继承关系:

在这里插入图片描述

  • 示例代码:
     string s = "I come from china";
     istringstream is(s);
     cout << s << endl;
     while (is >> s)
          cout << s << endl;
  • 执行结果:

C++ istringstream、ostringstream、stringstream类用法详解_第1张图片

2 ostringstream

ostringstream类执行C风格的串流的输出操作。

  • 定义类型:typedef basic_ostringstream ostringstream;
  • 继承关系:

在这里插入图片描述

  • 示例代码:
     double pi = 3.141592653589793;
     ostringstream s1;
     s1.setf(ios::fixed); //显示小数
     s1.precision(10);  //10位精度
     s1 << "pi:" << pi;
     string show = s1.str();
     cout << "show:" << show << endl;
  • 执行结果:

在这里插入图片描述

3 stringstream

strstream类支持C风格的串流的输入输出操作。

  • 定义类型:typedef basic_stringstream stringstream;
  • 继承关系:

在这里插入图片描述

  • 示例代码:
     double pi = 3.141592653589793;
     stringstream s1;
     s1.setf(ios::fixed); //显示小数
     s1.precision(10);
     s1 << "pi:" << pi;
     string show = s1.str();
     cout << "show:" << show << endl;
     string s = "I come from china";
     stringstream is(s);
     cout << s << endl;
     while (is >> s)
          cout << s << endl;
  • 执行结果:

C++ istringstream、ostringstream、stringstream类用法详解_第2张图片

4 reference

  • sstream
  • istringstream
  • ostringstream
  • stringstream
  • C++中替代sprintf的std::ostringstream输出流详解

你可能感兴趣的:(C/C++)