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类型。

相关推荐
无限进步_1 分钟前
【C++】lambda表达式与std::function/bind包装器
开发语言·c++
树下水月1 分钟前
php artisan serve 在window上执行报错的问题
开发语言·php
梦梦代码精6 分钟前
电商系统的核心难点:订单与营销系统如何设计?——LikeShop 架构深度拆解(规则计算与状态一致性)
java·开发语言·低代码·架构·开源·github
样例过了就是过了7 分钟前
LeetCode热题100 多数元素
c++·算法·leetcode·贪心算法
隐退山林8 分钟前
JavaEE进阶:SpringBoot日志
java·开发语言
nbwenren9 分钟前
C++ 资源管理 —— RAII
开发语言·c++
棒棒的唐16 分钟前
开发中,如何指定不同的php版本启动yii项目
开发语言·php
Shadow(⊙o⊙)17 分钟前
进程分析—从操作系统到Linux内核深入
linux·运维·服务器·开发语言·网络·c++·后端
计算机安禾18 分钟前
【c++面向对象编程】第6篇:this指针:对象如何知道自己在调用谁?
开发语言·c++
2301_8152795218 分钟前
如何实现C++ Web 自动化测试实战:常用函数全解析与场景化应用指南
开发语言·前端·c++