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

C++流操作

C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。

在C++中标准库提供三个类用于文件操作,统称为文件流类:

  1. ifstream:专用于从文件中读取数据;
  2. ofstream:专用于向文件中写入数据;
  3. fstream:既可用于从文件中读取数据,又可用于向文件中写入数据

C++程序把输入和输出看作字符流,输入时,程序从输入流中提取字节,输出时,程序把字节插入到输出流中。对于输入输出流既可以来自标准输入输出设备,也可以来自文件,甚至可以来自string对象,三者分别属于iostream family、fstream family、sstream family。
对于iostream类,就是我们通常所说的标准流,它把程序跟标准I/O连接在一起,输入来自键盘,输出送往监视器。
对于fstream类,它把程序跟文件关联起来,输入来自文件,输出到文件。
对于sstream类,它是提供程序和string对象之间的I/O,可通过ostringstream sout和istringstream sin来声明两个对象,分别对应输出流和输入流,这给编程带来极大的方便,例如可以从文本文件中读取一批数字字符到string对象中,再把string对象作为程序的输入流,既可把从文件中读取来的数字字符单个进行读取,从而进行处理。

默认通过空格(或回车)来分割字符串输入,即区分不同的字符串输入。 

#include<vector>
#include<iostream>
#include<map>
#include<fstream>
#include<sstream>using namespace std;
/*以|为分隔符,读取字符串*/
vector<string> getBugs(string words)
{vector<string> results;istringstream ss(words);while (!ss.eof()){string word;getline(ss, word, '|');results.emplace_back(word);}return results;
}int main()
{vector<string>  ss = getBugs("fdfd|2w3|hgggfer");return 0;
}

相关文章:

C++流操作

C引入了ostringstream、istringstream、stringstream这三个类&#xff0c;要使用他们创建对象就必须包含<sstream>这个头文件。 在C中标准库提供三个类用于文件操作&#xff0c;统称为文件流类&#xff1a; ifstream&#xff1a;专用于从文件中读取数据&#xff1b;ofs…...

Django连接Redis、数据库、mongodb密码明文存储问题以及方案

文章目录 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案需求背景常见解决方案Django中redis、数据库密码明文加密存储方案 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案 需求背景 密码不应以明文出现在代码或配置文件中。 常见解决方案 在Dja…...

Qt实现仿微信在线聊天工具(服务器、客户端)V1_ 02

上一篇设计了登录和聊天窗口&#xff0c;并实现了窗口切换&#xff0c;本章将继续实现其他模块 本章内容 完善登录验证实现自定义窗口的拖动效果 完善登录验证 对登录的输入框进行输入限定&#xff0c;这里我限制登录id为6位纯数字组合&#xff0c;密码长度不超过16位 设置…...

Direct local .aar file dependencies are not supported when building an AAR.

前言 起因&#xff1a;项目中含有视频播放功能&#xff0c;使用的是GSYVideoPlayer&#xff0c;因为公司网络问题经常依赖添加不了&#xff0c;所以将关于它的aar包全部下载下来直接本地依赖。 因为多个业务都可能涉及视频播放功能&#xff0c;为了复用&#xff0c;就想着将视频…...

【Java基础】day16

day16 一、switch-case 和 if-else 谁更快&#xff1f; switch-case 在 switch-case 中&#xff0c;case 的值是连续的话&#xff0c;会生成一个 TableSwitch 来进行优化&#xff0c;这样的情况下&#xff0c;只需要在表中进行判断即可。 这里使用 0-4 的连续值来进行测试 如…...

Neo4j | 一文入门Neo4j!

下面是一些基本的Cypher查询语句&#xff1a; 创建节点 CREATE (n:Person {name:Alice})这会创建一个标签为Person、属性name值为Alice的节点。 创建节点之间的关系 MATCH (a:Person {name:Alice}), (b:Person {name:Bob}) CREATE (a)-[:FRIEND]->(b)这会创建Alice和Bob…...

Python科研数据可视化

在过去的20 年中&#xff0c;随着社会产生数据的大量增加&#xff0c;对数据的理解、解释与决策的需求也随之增加。而固定不变是人类本身&#xff0c;所以我们的大脑必须学会理解这些日益增加的数据信息。所谓“一图胜千言”&#xff0c;对于数量、规模与复杂性不断增加的数据&…...

叫板IT部门和专业软件公司,低代码成为企业数字化的新选择

从2017年政府将“数字经济”写入工作报告&#xff0c;到今年两会将企业数字化转型列为重点议题&#xff0c;数字化的口号已喊了6年。政策对于数字化的支持越来越坚定&#xff0c;令人欣喜的是&#xff0c;越来越多具有远见卓识的企业已将数字化建设作为工作重心。 然而&#xf…...

leetcode 541. 反转字符串 II

题目描述解题思路执行结果 leetcode 541. 反转字符串 II 题目描述 反转字符串 II 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&#xff0c;则将剩余字符全…...

java数据类型的转换以及精度丢失

java数据类型的转换以及精度丢失_long转double会丢失精度吗_ღLiJia的博客-CSDN博客 一.浮点类型在计算机当中的存储 float存储需求是4字节&#xff08;32位&#xff09;, 其中1位最高位是符号位&#xff0c;中间8位表示阶位&#xff0c;后32位表示值 float的范围: -2^128 ~ …...

网络通信基础 - 多路复用技术(频分多路复用、时分多路复用、波分多路复用)

文章目录 1 概述1.1 复用器 MUX 2 分类2.1 频分多路复用 FDM2.2 时分多路复用 TDM2.3 波分多路复用 WDM 1 概述 1.1 复用器 MUX 多路复用技术&#xff1a;把多个低速信道组合成一个高速信道的技术这种技术要用到两个设备&#xff0c;统称为 多路器&#xff08;MUX&#xff09…...

Baumer工业相机堡盟工业相机如何通过BGAPISDK的函数转换示Bayer格式为BGR8格式彩色图像(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK的函数转换示Bayer格式为BGR8格式彩色图像&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的Bayer彩色图像的技术背景Baumer工业相机通过BGAPI SDK在回调函数里显示Bayer彩色图像Baumer工业相机在BufferEvent转换Bayer格式…...

一块钱看Android Debug: avc denied 已存在的目录不能访问

某三方应用&#xff0c;使用了USB摄像头&#xff0c;启动应用后功能不能使用&#xff0c;看log有如下错误&#xff0c; denied后面{}里的是要执行的动作,比如append,open,execmod,link等等 scontext指的是域,对应的是te文件 上面报错这条对应te文件是untrusted_app.te, scontex…...

URL 转为QR code(二维码)

推荐一个良心的网站&#xff0c;能够免费地将url、text编码为二维码&#xff0c;而且还能设计logo、颜色等。 https://www.the-qrcode-generator.com/ 如下图&#xff1a; 可以自己定义logo、颜色&#xff1a; 还能查看扫描历史等统计信息&#xff1a; 上述所有功能都是免…...

CentOS软件那么老为什么大家还要用它?

作为一个专业的服务器系统&#xff0c;RHEL 系统理论上每一个软件包都有 RedHat 内部的人员负责维护&#xff0c;这个维护包括长期&#xff08;和系统生命周期一样长&#xff09;的开发、更新、测试、运维等。也就是说你能从 RHEL 系统源上获得的每一个软件包&#xff0c;出现问…...

聚观早报|飞猪:五一出游需求爆发;​特斯拉一季度盈利同比跌20%

今日要闻&#xff1a;飞猪&#xff1a;五一出游需求爆发&#xff1b;特斯拉一季度盈利同比暴跌20%&#xff1b;郑渊洁永远不再发表作品&#xff1b;KargoBot推出无人化自动驾驶卡车&#xff1b;中国6G通信技术研发取得重要突破 飞猪&#xff1a;五一出游需求爆发 4 月 19 日&a…...

Redis缓存雪崩、穿透、击穿

Redis缓存雪崩、穿透、击穿 解决方案正常的缓存流程Redis缓存雪崩Redis缓存雪崩解决方案 Redis缓存穿透Redis缓存穿透解决方案 Redis缓存击穿Redis缓存击穿解决方案 解决方案 布隆过滤器&#xff0c;分布式锁 正常的缓存流程 Redis缓存雪崩 Redis中的key大面积失效&#xff0…...

不要老盯着ChatGPT,这几家公司的产品同样不容小觑

Adept.ai 2022 年成立&#xff0c;致力于一款能够代替人类使用电脑、操控软件的AI助手&#xff0c;旗下模型 ACT-1 还处于雏形阶段&#xff0c;但根据官方示例&#xff0c;已经可以完成通过自然语言指令完成特定的任务。公司创始人曾任OpenAI的工程副总裁&#xff0c;后来进入谷…...

DataBinding 大坑总结(网上我暂时搜不到解决方法)

在使用多Module中使用DataBinding会引发一些奇怪的问题&#xff0c;最近好好的腾出时间来折腾这些奇怪的问题&#xff1a; 1&#xff1a;如果当Module启动DataBinding重启AS启动报错的话&#xff0c;就启用允许多行代码 android { defaultConfig {multiDexEnabled true} } de…...

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符&#xff0c;这对于提高程序的性能至关重要。通常&#xff0c; 网络程序在下列情况下需要使用 I/O 复用技术&#xff1a; 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...