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

相关推荐
nice_lcj52032 分钟前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵2 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
AI吃大瓜3 小时前
指针压力表读数3:C/C++实现指针压力表读数(可实时检测)
c++·指针读数·指针压力表·压力表自动读数·压力表读数
-银雾鸢尾-3 小时前
两数之和-C++实现
c++·算法
j7~3 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
jimy13 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++
水饺编程3 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
揽星河..3 小时前
【C++】类和对象
c++·算法
Zwawa4 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·单片机·嵌入式
D e re k ZH4 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试