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


0 概述

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

1 istringstream

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

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

在这里插入图片描述

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

在这里插入图片描述

2 ostringstream

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

  • 定义类型:typedef basic_ostringstream<char> 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<char> 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;
  • 执行结果:

在这里插入图片描述

4 reference

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页