当前位置: 首页 > news >正文

c++11 标准模板(STL)(std::basic_istringstream)(五)

定义于头文件 <sstream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>

> class basic_istringstream;
(C++11 前)
template<

    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>

> class basic_istringstream;
(C++11 起)

类模板 std::basic_istringstream 实现基于字符串的流上的输入与输出操作。它等效地存储一个 std::basic_string 的实例,并在其上进行输入操作。

在低层,该类实际上包装 std::basic_stringbuf 的未处理字符串设备到 std::basic_istream 的高层接口中。提供到独有 std::basic_stringbuf 成员的完整接口。

 亦定义对于常用字符类型的二个特化:

类型定义
istringstreambasic_istringstream<char>
wistringstreambasic_istringstream<wchar_t>

非成员函数

特化 std::swap 算法

std::swap(std::basic_istringstream)
template< class CharT, class Traits, class Alloc >

void swap( std::basic_istringstream<CharT,Traits,Alloc>& lhs,

           std::basic_istringstream<CharT,Traits,Alloc>& rhs );

为 std::basic_istringstream 特化 std::swap 算法。交换 lhsrhs 的状态。等效地调用 lhs.swap(rhs) 。

参数

lhs, rhs-要交换状态的流

返回值

(无)

异常

(无)

调用示例

#include <sstream>
#include <string>
#include <iostream>int main()
{//3) 以 str 的副本为底层字符串设备的初始内容。std::string string1 = "I am a handsome programmer";std::basic_istringstream<char> basic_istringstream1(string1, std::ios_base::in);std::cout << "basic_istringstream1: " << basic_istringstream1.str() << std::endl;std::cout << "basic_istringstream1 rdstate: ";std::cout << basic_istringstream1.rdstate() << std::endl;std::string string2 = "I am a super handsome guy";std::basic_istringstream<char> basic_istringstream2(string2, std::ios_base::in);std::cout << "basic_istringstream2: " << basic_istringstream2.str() << std::endl;basic_istringstream2.setstate(std::ios_base::badbit);std::cout << "basic_istringstream2 rdstate: ";std::cout << basic_istringstream2.rdstate() << std::endl;std::cout << std::endl;//为 std::basic_istringstream 特化 std::swap 算法。//交换 lhs 与 rhs 的状态。等效地调用 lhs.swap(rhs)std::swap(basic_istringstream1, basic_istringstream2);std::cout << "after swap: " << std::endl;basic_istringstream1.seekg(std::ios_base::beg);std::cout << "basic_istringstream1: " << basic_istringstream1.str() << std::endl;std::cout << "basic_istringstream1 rdstate: ";std::cout << basic_istringstream1.rdstate() << std::endl;basic_istringstream2.seekg(std::ios_base::beg);std::cout << "basic_istringstream2: " << basic_istringstream2.str() << std::endl;std::cout << "basic_istringstream2 rdstate: ";std::cout << basic_istringstream2.rdstate() << std::endl;return 0;
}

输出

 

http://www.lryc.cn/news/139855.html

相关文章:

  • 【案例教程】高分论文密码:大尺度空间模拟预测与数字制图
  • uniapp 自定义手机顶部状态栏(适配状态栏高度)
  • 【LeetCode】1448.统计二叉树中好节点的数目
  • C语言基础之——数组
  • c# 插入排序
  • action和mutation之间的利用 代码解释
  • WPF基础入门-Class4-WPF绑定
  • 【广州华锐互动】VR高校虚拟实验教学平台提供丰富的资源支持,提高教学效果
  • pytorch学习(7)——神经网络优化器torch.optim
  • leetcode做题笔记​101. 对称二叉树
  • 边缘计算相关概念--学习笔记
  • flutter windows编译错误 flutter_assemble.vcxproj
  • 通过运行中的容器生成 Docker Compose 配置文件
  • rancher界面无法登陆问题解决,登录超时;
  • Django(6)-django项目自动化测试
  • 【AUTOSAR】【CAN通信】CanNm
  • 拼多多淘宝大量缓存商品数据用什么格式提供比较好?
  • 【校招VIP】前端校招考点之页面转换算法
  • android 下载网络文件
  • springboot定时任务:同时使用定时任务和websocket报错
  • CSS3渐变及2D转换
  • 无涯教程-PHP - eregi()函数
  • Spring与Mybatis整合aop整合pageHelper分页插件
  • SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)
  • 【JavaSE】内部类
  • Django(2)-编写你的第一个 Django 应用
  • 燃气管网监测系统,24小时守护燃气安全
  • 昌硕科技、世硕电子同步上线法大大电子合同
  • es的索引管理
  • Rust 的四大类型的宏 (元编程)