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

C++ ostringstream用法详解

std::ostringstream 是 C++ 标准库中的一个输出字符串流类,它可以用于将各种数据类型转换为字符串,并且支持格式控制和字符串拼接操作。

目录

1. 头文件

2. 基本用法

3. 将各种数据类型转换为字符串

4. 格式控制

5. 清空和重置

6. 拼接字符串


1. 头文件

#include <sstream>
#include <string>

2. 基本用法

最基本的用法是创建 std::ostringstream 对象并使用流操作符 << 将数据插入流中,然后通过 str() 方法获取流中的字符串表示。
std::ostringstream oss;
int num = 42;
double pi = 3.14159;
oss << "Number: " << num << ", Pi: " << pi;
std::string result = oss.str();

3. 将各种数据类型转换为字符串

std::ostringstream 可以将各种数据类型转换为字符串,包括整数、浮点数等。
std::ostringstream oss;
int num = 42;
oss << num;
std::string numStr = oss.str();

4. 格式控制

可以使用控制符控制字符串的格式,比如设置精度、固定小数位数等。
std::ostringstream oss;
double pi = 3.14159;
oss << std::fixed << std::setprecision(2) << pi;
std::string piStr = oss.str(); // 将输出保留两位小数

将num输出为20位的数据,不足20位的补0
long num = 11111;
oss << std::setw(20) << std::setfill('0') << num;

5. 清空和重置

可以使用 str("") 方法清空流中的内容,或者使用 str(newStr) 方法重置流中的内容为新的字符串。
std::ostringstream oss;
oss << "Hello, ";
oss.str(""); // 清空流中的内容
oss << "World!";
std::string result = oss.str(); // result 现在是 "World!"

6. 拼接字符串

可以通过多次向流中插入数据来实现字符串的动态拼接。
std::ostringstream oss;
oss << "Hello, ";
oss << "World!";
std::string result = oss.str(); // result 是 "Hello, World!"

http://www.lryc.cn/news/322379.html

相关文章:

  • 并发编程所需的底层基础
  • 各种小功能
  • vue前端解析jwt
  • 【Flutter 面试题】Flutter如何进行本地存储和缓存数据?
  • Docker 笔记(八)--Dockerfile
  • C语言每日一题06
  • spring redis 工具类
  • SpringBoot3整合Elasticsearch8.x之全面保姆级教程
  • 微信小程序云开发教程——墨刀原型工具入门(表单组件)
  • JMeter 批量接口测试
  • 软件游戏缺失unityplayer.dll怎么办,教程5种解决方法
  • Redis相关操作大全一篇全搞定
  • 排序算法:归并排序(递归)
  • 武汉星起航领航中国跨境电商,助推全球贸易新篇章
  • 七、Java中SpringBoot组件集成接入【Minio文件服务器】
  • 使用Pygame做一个乒乓球游戏
  • 力扣---完全平方数
  • 接口测试、postman、测试点提取【主】
  • C++ list详解及模拟实现
  • 【tls招新web部分题解】
  • 力扣热门算法题 52. N 皇后 II,53. 最大子数组和,54. 螺旋矩阵
  • 【OpenVINO】解决OpenVINO在GPU推理中报错的方法
  • AES加密的中文乱码与Java默认编码
  • Node.js笔记 (二)浏览器和服务器
  • 面试经典-32-判断子序列
  • windows使用知识
  • 用python如何实现智能合约?如何使用remix编写solidity智能合约并部署上链
  • Electron窗口管理详解:使用BrowserWindow API打造个性化界面
  • 19---时钟电路设计
  • PSNR/SSIM/LPIPS图像质量评估三件套(含代码)