c++字符串拼接(对标C语言的sprintf)

C语言的sprintf

我们在一些场景下需要先将字符串拼接起来再使用。

如: 我们要输出一个数组中的数据,输出的格式为--**第几个数据为什么?**在这种情况下每次输出的字符串都是不一样的,我们可以通过循环来不断增加i的值,通过字符串的拼接实现。

复制代码
char name[1024];

for(int i = 1; i <= 5 ; i++){
  
   sprintf(name,"输出的是第%d个数据",i);

   printf("%s",name);
}

代码中,就是for循环和字符串拼接函数实现了输出字符串的改变。(在代码中有很多时候都会使用)

sprintf函数,就是将右边的字符串放到name字符数组中。

c++的stringstream

C语言 中的拼接有一定的弊端,因为我们使用数组来存放拼接的字符串,我们不知道字符串的大小的,只能尽可能的大,这样就会存在浪费空间的情况。

也可能空间不够,也会造成问题。

c++中可以使用stringstream对象实现

复制代码
#include <sstream>

stringstream ret;

for(int i = 1; i <= 5; i++){

   ret<<"第"<<i<<"个数据";
}

ret.str();  // 将ret转化为string型

上面代码使用了stringstream, 需要导入头文件<sstream>,

最后,c++中字符串是string,使用stringstream拼接的字符串是stringstream的需要调用函数转换成string类型。

相关推荐
不是万能的豆学长15 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech19 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin20 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路21 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神21 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客1 天前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn1881 天前
记录本地安装nacos服务的方法及异常
java·开发语言
水饺编程1 天前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
步行cgn1 天前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程1 天前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用