c++中std::stringstream的常见用法_c++字符串流读写与格式化输出方法

std::stringstream用于字符串与数据类型转换,支持写入拼接、格式化解析、清空重用及格式控制,适用于配置解析与日志拼接等场景。

c++中std::stringstream的常见用法_c++字符串流读写与格式化输出方法

在C++中,std::stringstream 是一个非常实用的工具,用于在字符串和各种数据类型之间进行转换。它属于 头文件,结合了字符串操作和流输入输出的特性,适合做格式化读写、类型转换和解析文本。

1. 字符串流的基本构造与写入

创建一个 stringstream 对象后,可以像使用 cout 一样用 操作符向其中写入数据。

常见写入方式:

支持整数、浮点数、字符串等基本类型的拼接 可多次写入,内容会追加到内部缓冲区

#include #include #include std::stringstream ss;ss << "年龄:" << 25 << ", 身高:" << 175.5;std::cout << ss.str(); // 输出:年龄:25, 身高:175.5

2. 读取字符串流中的数据

使用 >> 操作符可以从 stringstream 中按字段提取数据,类似 cin 的行为。

立即学习“C++免费学习笔记(深入)”;

适用于解析格式化的字符串,比如从一行文本中提取多个值。

std::string input = "张三 20 85.5";std::stringstream ss(input);std::string name;int age;double score;ss >> name >> age >> score;// 成功提取:name="张三", age=20, score=85.5

如果输入格式不匹配,提取会失败,可通过检查流状态判断。

3. 清空与重用 stringstream

stringstream 内部有缓冲区和状态标志,重复使用前需要清空内容和状态。

常见清空方法:

ss.str(std::string()); —— 清空内容 ss.clear(); —— 重置错误状态(如 eof、fail)

ss.str("");     // 设置为空字符串ss.clear();     // 清除状态标志// 此时可重新写入

4. 格式化控制输出

stringstream 支持 iomanip 中的格式控制,可用于数字格式化。

例如设置精度、进制、填充等。

#include std::stringstream ss;ss << std::fixed << std::setprecision(2) << 3.14159;// 结果:"3.14"ss << " 0x" << std::hex << 255;// 追加后为:"3.14 0xff"

基本上就这些。stringstream 在处理配置解析、日志拼接、数值转字符串等场景中非常方便,掌握好读写和清空方式就能避免常见问题。不复杂但容易忽略状态管理。

以上就是c++++中std::stringstream的常见用法_c++字符串流读写与格式化输出方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1484465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 08:06:32
下一篇 2025年12月19日 08:06:37

相关推荐

发表回复

登录后才能评论
关注微信