【c++】stringstream基础:实现数据类型转换和字符串分割

news2024/11/25 12:00:11

传统实现整型转换为字符串需要使用itoa或者sprintf,对于itoa和atoi的使用可以看文章:

atoi和itoa极简无废话概述

但是用这两个函数进行转换时,所需要的空间事先不确定,所以可能造成程序崩溃,今天介绍的stringstream可以解决这个问题

实现数据类型转换

下面演示整数转换为字符串:

#include<iostream>
#include<sstream>
using namespace std;
int main()
{
	stringstream ss;
	string s;
	int a=12345;
	int b=123;
	ss<<a;
	ss>>s;
	cout<<s<<endl;//12345
	ss.clear();//必须清空流状态,否则下面仍然输出12345
	cout<<ss.str();//但清空状态不是把ss中的12345清空了 ,比如这里输出的是12345
	//若想把ss中的12345真正清空,可以用ss的构造函数:ss.str("") 
	ss<<b;
	ss>>s;
	cout<<s<<endl;//123
	return 0;
}

实现字符串分割

下面展示使用stringstream进行字符串分割的经典用法:

#include<iostream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;
int main()
{
	string str;
	getline(cin,str);
	stringstream ssin(str);
	vector<string> ops;
	while(ssin>>str)ops.push_back(str);
	for(int i=0;i<ops.size();i++)
	cout<<ops[i]<<endl;
	return 0;
}

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

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

相关文章

进程、线程、进程池、进程三态、同步、异步、并发、并行、串行

进程、线程、进程池、进程三态、同步、异步、并发、并行、串行 一.进程, 线程 1.&#x1f335;进程 &#x1f379;什么是进程? 开发写的代码我们称为程序&#xff0c;那么将开发的代码运行起来。我们称为进程。 明白点: 当我们运行一个程序&#xff0c;那么我们将运行的程…

反序列化漏洞及漏洞复现

文章目录 渗透测试漏洞原理不安全的反序列化1. 序列化与反序列化1.1 引例1.2 序列化实例1.2.1 定义一个类1.2.2 创建对象1.2.3 反序列化1.2.4 对象注入 2. 漏洞何在2.1 漏洞触发 3. 反序列化漏洞攻防3.1 PHP反序列化实例3.1.1 漏洞利用脚本3.1.2 漏洞利用3.1.3 获取GetShell 3.…

folium中RegularPolygonMarker的rotation怎么理解

背景 我们在使用 folium 库创建交互式地图的时候&#xff0c;如果我们使用 RegularPolygonMarker 对象&#xff0c;则会使用到 rotation这个参数&#xff0c;这个rotation的基准是什么&#xff1f;方向是顺时针还是逆时针&#xff1f;今天来聊聊。 创建几个 RegularPolygonMa…

策略路由典型配置:通过流策略实现策略路由(即重定向到不同的下一跳)

策略路由典型配置&#xff1a;通过流策略实现策略路由&#xff08;即重定向到不同的下一跳&#xff09; 1、拓扑图及组网要求 公司用户通过SW2核心交换机连接到外部网络&#xff0c;其中一条是高速链路&#xff0c;网关是192.168.100.2/24&#xff0c;另一条是低俗网络&#…

Python+Appium+Pytest+Allure实战APP自动化测试!

pytest只是单独的一个单元测试框架&#xff0c;要完成app测试自动化需要把pytest和appium进行整合&#xff0c;同时利用allure完成测试报告的产出。 编写常规的线性脚本具体的步骤如下&#xff1a; 1、设计待测试APP的自动化测试用例 2、新建app测试项目 3、配置conftest.py文…

VMware虚拟机安装CentOS6.9设置静态ip

1.设置虚拟网络编辑器 点击编辑–>虚拟网络编辑器 2.更改系统网络适配器选项 这里的子网掩码与网关&#xff0c;与第一步的一致 3.修改虚拟机主机名 vi /etc/sysconfig/networkNETWORKINGyue HOSTNAMEchen4.配置IP映射 vi /etc/hosts192.168.121.138 chen5.配置网卡…

Vue2+Vue3笔记(尚硅谷张天禹老师)day03

声明:只是记录&#xff0c;初心是为了让页面更好看,会有错误,我并不是一个会记录的人&#xff0c;所以有点杂乱无章的感觉&#xff0c;我先花点时间把视频迅速过掉&#xff0c;再来整理这些杂乱无章的内容 脚手架 Vue-cli CLI是Command Line Interface的缩写&#xff0c;直译的…

机器学习练习

原文章添加链接描述

OPENCV+QT环境配置

【qtopencv开发入门&#xff1a;4步搞定opencv环境配置2】https://www.bilibili.com/video/BV1f34y1v7t8?vd_source0aeb782d0b9c2e6b0e0cdea3e2121eba 第一步&#xff1a; 安装QT Qt 5.15 第二步&#xff1a; 安装OPENCV VS2022 Opencv4.5.5 C 配置_愿飞翔的鱼儿的博客…

集成facebook第三方登录facebook_client_token不知道在哪

在应用面板的应用设置中 选择高级 下拉一些&#xff0c;客户端口令这个就是了 再加到string 中

RecyclerView源码解析(三):RecyclerView的缓存机制

RecyclerView源码解析&#xff08;三&#xff09;&#xff1a;RecyclerView的缓存机制 导言 上两篇文章我们结合LinearLayoutManager对RecyclerView整体是如何绘制的有了大致的了解&#xff0c;不过RecyclerView的重头戏并不是简单显示列表&#xff0c;而是它通过缓存机制实现…

nginx搭建DNS服务器

目录 搭建DNS服务器搭建一个DNS缓存域名服务器主从DNS服务器的工作原理查域里的域名服务器记录记录类型做一个自己的域名数据库&#xff0c;给sc.com提供解析 反向解析的配置文件和数据文件 搭建DNS服务器 主配置文件&#xff1a;/etc/named.conf 次要配置文件&#xff1a;/et…

openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案

文章目录 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案61.1 单中心61.2 同城双中心61.3 两地三中心61.4 两地三中心流式容灾方案 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案 61.1 单中心 图 1 单中心部署图 组网特点&#xff1a; 单AZ部署…

【大数据】Flink 详解(七):源码篇 Ⅱ

本系列包含&#xff1a; 【大数据】Flink 详解&#xff08;一&#xff09;&#xff1a;基础篇【大数据】Flink 详解&#xff08;二&#xff09;&#xff1a;核心篇 Ⅰ【大数据】Flink 详解&#xff08;三&#xff09;&#xff1a;核心篇 Ⅱ【大数据】Flink 详解&#xff08;四…

CocosCreator3.8研究笔记(八)CocosCreator 节点和组件的使用

我们知道&#xff0c;在CocosCreator 节点和组件的修改有两种方法&#xff1a; 属性检查器中的设置脚本中的动态修改 脚本中动态修改&#xff0c;能实现各种各样的游戏逻辑&#xff0c;例如响应玩家输入&#xff0c;删除、修改、销毁节点或组件。 不过想要实现这些游戏逻辑&a…

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图元器件清单 5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 51单片机…

数据结构插入排序

好久不见&#xff0c;这几天有点事情&#xff0c;都快一个礼拜没有学习&#xff0c;对键盘都要陌生起来了&#xff0c;今天也是刚刚学了一点排序&#xff0c;在这里也给大家更新一个插入排序&#xff0c;后面也会渐渐的把八大排序更新完的&#xff0c;还有就是二叉树&#xff0…

【大数据Hive】hive 加载数据常用方案使用详解

目录 一、前言 二、load 命令使用 2.1 load 概述 2.1.1 load 语法规则 2.1.2 load语法规则重要参数说明 2.2 load 数据加载操作演示 2.2.1 前置准备 2.2.2 加载本地数据 2.2.3 HDFS加载数据 2.2.4 从HDFS加载数据到分区表中并指定分区 2.3 hive3.0 load 命令新特性 …

学习Bootstrap 5的第五天

目录 图像 图像形状 实例 对齐图像 实例 居中图像 实例 响应式图像 实例 Jumbotron 实例 图像 图像形状 .rounded 类可以用于为图像或任何具有边框的元素添加圆角。这个类适用于Bootstrap的所有版本&#xff0c;并且在最新版本中得到了进一步的增强。 实例 <…

【爬虫】7.4. 字体反爬案例分析与爬取实战

字体反爬案例分析与爬取实战 文章目录 字体反爬案例分析与爬取实战1. 案例介绍2. 案例分析3. 爬取 本节来分析一个反爬案例&#xff0c;该案例将真实的数据隐藏到字体文件里&#xff0c;即使我们获取了页面源代码&#xff0c;也无法直接提取数据的真实值。 1. 案例介绍 案例网…