news 2026/4/30 20:52:12

<sstream>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<sstream>

ostringstream和ostream

ostringstreamostream是 C++ I/O 流体系中紧密相关但职责不同的两个概念。简单来说,ostream是一个基类(抽象概念),而ostringstream是基于内存的具体实现

  • std::ostringstream是 C++ 标准库中的安全类,它会自动管理内存,不会导致缓冲区溢出
  • 相反,应该避免使用C 风格的std::ostrstream(已废弃),而推荐使用std::ostringstream
  • std::ostream是一个基类,不能直接用于字符串流操作。
类名核心头文件常用替代/包含头文件说明
std::ostringstream<sstream>专门用于将数据格式化输出到std::string对象中。
std::ostream<ostream><iostream>输出流的基类。std::cout就是std::ostream的一个实例。
#include <sstream> // 必须包含这个才能用 ostringstream #include <iostream> // 包含这个通常就有了 ostream,同时也为了使用 cout int main() { // 使用 ostringstream std::ostringstream oss; oss << "Hello "; oss << "World"; std::string result = oss.str(); std::cout << result << std::endl; // 输出: Hello World return 0; }

字符串分割

使用 stringstream(适合空格、制表符等空白字符分割)

#include <sstream>

std::stringstream 的 operator>> 默认以任意空白字符(包括空格、\t、\n、\r、\f、\v)作为分隔符。 它会自动跳过多余的空白(包括开头、结尾和中间连续的空白),非常适合解析由空白分隔的“单词”或“字段”。

这种方法主要利用<sstream>头文件中的std::stringstream配合>>操作符。

#include <iostream> #include <string> #include <vector> #include <sstream> // 必须包含的头文件 using namespace std; int main() { // 模拟一段包含多个空格、制表符的文本 string text = "C++ is\tvery\npowerful"; vector<string> result; // 1. 将字符串放入流中 stringstream ss(text); string temp; // 2. 循环读取 // >> 操作符会自动以空白字符(空格、Tab、换行)为分隔符 // 并且会自动忽略连续的空白符 while (ss >> temp) { result.push_back(temp); } // 输出验证 for (const auto& s : result) { cout << "[" << s << "]" << endl; } return 0; }
[C++] [is] [very] [powerful]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 20:52:12

观察Taotoken聚合API在不同网络环境下的响应稳定性

观察Taotoken聚合API在不同网络环境下的响应稳定性 1. 测试方法与准备 为了评估Taotoken聚合API在不同网络条件下的表现&#xff0c;我们设计了一个简单的测试方案。测试环境包括家庭宽带、移动4G/5G网络以及办公网络三种常见场景。测试工具使用Python编写的脚本&#xff0c;…

作者头像 李华
网站建设 2026/4/30 20:52:04

Translumo:打破语言壁垒的实时屏幕翻译利器

Translumo&#xff1a;打破语言壁垒的实时屏幕翻译利器 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是一个文章写手&…

作者头像 李华
网站建设 2026/4/30 20:50:11

终极指南:如何用tcc-g15开源方案彻底解决Dell G15散热问题

终极指南&#xff1a;如何用tcc-g15开源方案彻底解决Dell G15散热问题 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 还在为Dell G15笔记本玩游戏时温度飙升、…

作者头像 李华
网站建设 2026/4/30 20:47:25

ArchivePasswordTestTool:你的免费压缩包密码恢复专家

ArchivePasswordTestTool&#xff1a;你的免费压缩包密码恢复专家 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾因为忘记压缩包密…

作者头像 李华
网站建设 2026/4/30 20:46:22

大模型跳槽避坑指南:抓住红利,实现职业跃迁(收藏版)

本文针对2023年以来大模型人才市场的变化&#xff0c;提出了跳槽的九大避坑要点与跃迁路径。文章指出&#xff0c;当前市场环境下&#xff0c;优质岗位稀缺且高度私密&#xff0c;海投简历已失效。建议求职者通过专业猎头进行规划&#xff0c;优化简历&#xff0c;精准匹配岗位…

作者头像 李华