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

相关推荐
米尔的可达鸭17 分钟前
深入操作系统 Socket 底层:EPOLLOUT 可写事件管理 + 非阻塞异步
开发语言·网络·数据结构·经验分享·websocket·网络协议
前端进阶之旅22 分钟前
Next.js 16.3 新特性全解析 AI 驱动开发与 Instant Navigations 实战指南
开发语言·javascript·人工智能
小小编程路25 分钟前
Java super 关键字详解:用法、场景与常见误区
java·开发语言
薛定猫AI40 分钟前
【技术干货】大模型检查点可靠性评测:基于 Python 构建幻觉与指令遵循测试
开发语言·python
文祐1 小时前
C语言利用数组计算矩阵乘法
c语言·开发语言·矩阵
啦啦啦啦啦zzzz1 小时前
c++web服务器框架Oat++的API应用
服务器·c++·oat++
matlab代码1 小时前
Matlab基于主成分分析PCA人脸识别系统(GUI界面)【源码44期】
开发语言·matlab·人脸识别
m0_738120721 小时前
AI安全实战系列(四):Lab04 Multi-Agent——多智能体攻击分析
服务器·开发语言·人工智能·安全·网络安全·语言模型
ch.ju1 小时前
Java Programming Chapter 4——Anonymous inner class
java·开发语言
Irissgwe1 小时前
算法之二分查找
数据结构·c++·算法·二分查找