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

news2024/11/25 4:20:09
定义于头文件 <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>

 

成员类型

成员类型定义
char_typeCharT
traits_typeTraits ;若 Traits::char_type 不是 CharT 则程序为病式。
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type
allocator_typeAllocator (C++11 起)

成员函数

(构造函数)

构造字符串流
(公开成员函数)

operator=

(C++11)

移动字符串流
(公开成员函数)

swap

(C++11)

交换两个字符串流
(公开成员函数)

rdbuf

返回底层未处理的字符串设备对象
(公开成员函数)
字符串操作

str

获取或设置底层字符串设备对象的内容
(公开成员函数)

非成员函数

std::swap(std::basic_istringstream)

(C++11)

特化 std::swap 算法
(函数模板)

继承自 std::basic_istream

成员函数

有格式输入

operator>>

提取带格式数据
(std::basic_istream<CharT,Traits> 的公开成员函数)
无格式输入

get

从流中读并取走(移除类似指针向下一个元素移动)一个字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

peek

仅读出但不取走(不移除类似指针并未移动)一个字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

unget

撤销流中刚取走(移除,类似指针向后退回一个位置)的字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

putback

往输入流中退回一个字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

getline

一直读并取走字符,直至找到给定字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

ignore

读且取走并舍弃字符,直至发现给定字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

read

读并取走一块字符
(std::basic_istream<CharT,Traits> 的公开成员函数)

readsome

读并取走已经可用的字符块
(std::basic_istream<CharT,Traits> 的公开成员函数)

gcount

返回上次无格式输出操作所取走的字符数量
(std::basic_istream<CharT,Traits> 的公开成员函数)
寻位

tellg

返回输入位置指示器
(std::basic_istream<CharT,Traits> 的公开成员函数)

seekg

设置输入位置指示器
(std::basic_istream<CharT,Traits> 的公开成员函数)
杂项

sync

与底层存储设备同步
(std::basic_istream<CharT,Traits> 的公开成员函数)

成员类

sentry

实现为输出操作准备流的基本逻辑
(std::basic_istream<CharT,Traits> 的公开成员类)

 

继承自 std::basic_ios

成员类型

成员类型定义
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

状态函数

good

检查是否没有发生错误,例如是否可执行I/O操作
(std::basic_ios<CharT,Traits> 的公开成员函数)

eof

检查是否到达了文件末尾
(std::basic_ios<CharT,Traits> 的公开成员函数)

fail

检查是否发生了可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

bad

检查是否已发生不可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator!

检查是否有错误发生(fail() 的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator void*operator bool

(C++11 前)(C++11 起)

检查是否没有发生错误(!fail()的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdstate

返回状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

setstate

设置状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

clear

修改状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
格式化

copyfmt

复制格式化信息
(std::basic_ios<CharT,Traits> 的公开成员函数)

fill

管理填充字符
(std::basic_ios<CharT,Traits> 的公开成员函数)
杂项

exceptions

管理异常掩码
(std::basic_ios<CharT,Traits> 的公开成员函数)

imbue

设置本地环境
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdbuf

管理相关的流缓冲区
(std::basic_ios<CharT,Traits> 的公开成员函数)

tie

管理绑定的流
(std::basic_ios<CharT,Traits> 的公开成员函数)

narrow

窄化字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

widen

拓宽字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

 

 

继承自 std::ios_base

成员函数

格式化

flags

管理格式标志
(std::ios_base 的公开成员函数)

setf

设置特定格式标志
(std::ios_base 的公开成员函数)

unsetf

清除特定格式的标志
(std::ios_base 的公开成员函数)

precision

管理浮点操作的精度
(std::ios_base 的公开成员函数)

width

管理域的宽度
(std::ios_base 的公开成员函数)
本地环境

imbue

设置本地环境
(std::ios_base 的公开成员函数)

getloc

返回当前本地环境
(std::ios_base 的公开成员函数)
内部可扩展数组

xalloc

[静态]

返回能安全用作 pword() 和 iword() 下标的程序范围内独有的整数
(std::ios_base 的公开静态成员函数)

iword

如果有必要的话,调整私有存储的大小,并且访问位于提供的下标的long元素
(std::ios_base 的公开成员函数)

pword

若需要则重置私有存储的大小,并访问位于指定下标的 void* 元素
(std::ios_base 的公开成员函数)
杂项

register_callback

注册事件回调函数
(std::ios_base 的公开成员函数)

sync_with_stdio

[静态]

设置C++和C的IO库是否可以互操作
(std::ios_base 的公开静态成员函数)
成员类

failure

流异常
(std::ios_base 的公开成员类)

Init

初始化标准流对象
(std::ios_base 的公开成员类)

成员类型和常量

类型解释

openmode

流打开模式类型

亦定义下列常量:

常量解释
app每次写入前寻位到流结尾
binary以二进制模式打开
in为读打开
out为写打开
trunc在打开时舍弃流的内容
ate打开后立即寻位到流结尾
(typedef)

fmtflags

格式化标志类型

亦定义下列常量:

常量解释
dec为整数 I/O 使用十进制底:见 std::dec
oct为整数 I/O 使用八进制底:见 std::oct
hex为整数 I/O 使用十六进制底:见 std::hex
basefielddec|oct|hex 。适用于掩码运算
left左校正(添加填充字符到右):见 std::left
right右校正(添加填充字符到左):见 std::right
internal内部校正(添加填充字符到内部选定点):见 std::internal
adjustfieldleft|right|internal 。适用于掩码运算
scientific用科学记数法生成浮点类型,或若与 fixed 组合则用十六进制记法:见 std::scientific
fixed用定点记法生成浮点类型,或若与 scientific 组合则用十六进制记法:见 std::fixed
floatfieldscientific|fixed 。适用于掩码运算
boolalpha以字母数字格式插入并释出 bool 类型:见 std::boolalpha
showbase生成为整数输出指示数字基底的前缀,货币 I/O 中要求现金指示器:见 std::showbase
showpoint无条件为浮点数输出生成小数点字符:见 std::showpoint
showpos为非负数值输出生成 + 字符,见 std::showpos
skipws在具体输入操作前跳过前导空白符:见 std::skipws
unitbuf在每次输出操作后冲入输出:见 std::unitbuf
uppercase在具体输出的输出操作中以大写等价替换小写字符:见 std::uppercase
(typedef)

iostate

流状态类型

亦定义下列常量:

常量解释
goodbit无错误
badbit不可恢复的流错误
failbit输入/输出操作失败(格式化或提取错误)
eofbit关联的输出序列已抵达文件尾
(typedef)

seekdir

寻位方向类型

亦定义下列常量:

常量解释
beg流的开始
end流的结尾
cur流位置指示器的当前位置
(typedef)

event

指定事件类型
(枚举)

event_callback

回调函数类型
(typedef)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/912969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gRPC简介: Google的高性能RPC框架

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

自定义mybatis拦截器,在若依springboot项目中不起作用的原因

自定义mybatis拦截器&#xff0c;在若依springboot项目中不起作用的原因 找到 MyBatisConfig 配置类&#xff0c;引入自定义配置 在sqlSessionFactory中添加自定义拦截器&#xff0c;就可以正常使用了 package com.lingxu.framework.config;import com.lingxu.common.core.…

AAAI 2024,14000篇投稿,大家都写了啥?

夕小瑶科技说 原创 作者 | python 8月16日截稿的AAAI 2024&#xff0c;从投稿ID看&#xff0c;已超14000篇投稿。这么多投稿&#xff0c;大家都写了啥&#xff1f;今年什么话题最火&#xff1f;和往年相比&#xff0c;今年的投稿趋势又有什么变化&#xff1f; 本文中&#xf…

<c++开发>通信工具 -之-SOME/IP移植部署 第一篇文章

&#xff1c;c开发&#xff1e;通信工具 -之-SOME/IP移植ubuntu部署 第一篇文章 一 前言 SOME/IP (Scalable service-Oriented MiddlewarE over IP) 是一种通信协议&#xff0c;主要用于嵌入式系统和车载网络中的服务导向通信。SOME/IP是AUTOSAR&#xff08;AUTomotive Open …

微信小程序列表加载更多

概述 基于小程序开发的列表加载更多例子。 详细 一、前言 基于小程序开发的列表加载更多例子。 二、运行效果 运行效果&#xff08;演示的小视频&#xff0c;点击播放即可&#xff09; 三、实现过程 总体思路如何&#xff1a; 1、通过scroll-view组件提供的bindscroll方法…

Blazor 依赖注入妙用:巧设回调

文章目录 前言依赖注入特性需求解决方案示意图 前言 依赖注入我之前写过一篇文章&#xff0c;没看过的可以看看这个。 C# Blazor 学习笔记(10):依赖注入 依赖注入特性 只能Razor组件中注入所有Razor组件在作用域注入的都是同一个依赖。作用域可以看看我之前的文章。 需求 …

【Visual Studio】生成.i文件

环境 VS版本&#xff1a;VS2013 问题 如何生成.i预编译文件&#xff1f; 步骤 1、打开VS项目属性&#xff0c;打开C/C\预处理器页面&#xff0c;【预处理到文件】选择是&#xff0c;开启。 2、生成文件如下。 3、正常编译需要关闭此选项。

ProtoBuf3语法详解

目录&#xff1a; 需求&#xff1a;字段规则消息类型的定义与使用通讯录2.0的写⼊实现TestRead.java(通讯录2.0)TestRead.java(通讯录2.0) 另⼀种验证⽅法--toString()enum类型升级通讯录⾄2.1版本Any类型oneof类型map类型默认值更新消息保留字段reserved未知字段选项option 通…

企业国际大数据传输必须了解的5种跨国快速传输大文件工具

信息技术的迅速发展&#xff0c;带来了数据量的持续增长&#xff0c;从而日益增加了对大文件传输的需求。特别是在跨国传输大数据时&#xff0c;网络拥堵和地理限制等问题也逐渐浮现。为了解决这一难题&#xff0c;人们开始寻找更为高效、迅捷和安全的方法来进行跨国大文件传输…

Electron之初体验

Electron是一款使用Html、Css、JS开发跨平台桌面应用的框架。 话不多说直接开搞。 必坑指南&#xff1a; node版本>18.0使用淘宝镜像安装npm相关包&#xff1b;把下面两行配置放到你的npmrc文件中electron_mirrorhttps://npm.taobao.org/mirrors/electron/ ELECTRON_MIRRO…

C++STL之string类

​ 食用指南&#xff1a;本文在有C基础的情况下食用更佳 &#x1f340;本文前置知识&#xff1a;C基础 ♈️今日夜电波&#xff1a;喜劇—星野源 1:06 ━━━━━━️&#x1f49f;──────── 3:51 …

5G手机终端省电方案

5G终端带宽大、频率高&#xff0c;天线一般为4接收2发射&#xff0c;因此功耗比较高。 5G Power Saving技术为3GPP的一大主要课题&#xff0c;本文介绍几种5G省电技术。 CDRX&#xff08;Connected Discontinuous reception&#xff09;是让终端定期休眠不监听PDCCH。 WUS&a…

C语言学习系列-->看淡指针(3)

文章目录 一、字符指针变量二、数组指针变量2.1 概述2.2 数组指针初始化 三、二维数组传参本质四、函数指针五、typedef关键字六、函数指针数组 一、字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* 一般使用&#xff1a; #include<stdio.h>int main…

【COMP282 LEC6 LEC7 LEC8】

LEC 6 Example container: Map Things are stored in ascending order (based on <) by default on the first component (the string) Map access 让一个键名为“one”的值为1 添加一个键值对&#xff0c;键名是“two”&#xff0c;值为2 functor 功能原件 LEC 7

2023企业Hyper-V备份解决方案!

虚拟技术已成为IT基础设施的核心元素&#xff0c;企业长期依赖虚拟机&#xff08;VM&#xff09;为应用程序提供工作负载。Hyper-V是一款广受欢迎的虚拟化平台&#xff0c;多年来已日臻完善&#xff0c;并在各类规模的公司中得到广泛应用。 随着虚拟机使用的普及&…

【0基础入门Python Web笔记】三、python 之函数以及常用内置函数

三、python 之函数以及常用内置函数 函数函数定义函数调用函数参数返回值 常用内置函数input()函数range()函数其它 更多实战项目可进入下方官网 函数 函数是一种用于封装可重复使用代码块的工具&#xff0c;能够将一系列操作组织成一个逻辑单元。 函数定义 在Python中&…

Linux_11_系统启动和内核管理

目录 1 C entOS 6 的启动管理1.1 Linux 组成1.2 内核设计流派1.3 CentOS 6启动流程1.3.1 CentOs 6 启动流程1.3.1 硬件启动POST1.3.2 bootloader 启动/引导加载器1.3.2.1 grub 功能和组成1.3.2.2 CentOS 6 grub 安装1.3.2.3 grub legacy 管理 1.3.3 加载 kernel1.3.4 init 初始…

循环购模式:打破传统消费模式,让每一次购物成为可持续性的循环

品牌做私域运营&#xff0c;只会不断促销是没有用的&#xff0c;反而会让用户渐渐无感。更高级的私域运营玩法应该是通过场景策略来做私域&#xff0c;直击用户的痛点&#xff0c;让用户自我说服&#xff0c;提高转化率。 循环购消费模式是一种创新的商业模式&#xff0c;它能…

PostgreSQL-研究学习-介绍与安装

PostgreSQL-预研 是个很厉害的数据库的样子 ψ(*&#xff40;ー)ψ 官方文档&#xff1a;http://www.postgres.cn/docs/12/ 总的结论和备注 PgSQL 支持对JSON的支持很强大&#xff0c;以及提供了很多数学几何相关的数据类型【例&#xff1a;点&#xff0c;线条&#xff0c;几何…

[PyTorch][chapter 51][Auto-Encoder -1]

目录&#xff1a; 简介 损失函数 自动编码器的类型 一 AutoEncoder 简介&#xff1a; 自动编码器是一种神经网络&#xff0c;用于无监督学习任务.(没有标签或标记数据), 例如降维,特征提取和数据压缩. 主要任务&#xff1a; 1&#xff1a; 输入数据 …