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

相关推荐
橙露12 小时前
全栈开发入门:Python Flask+Vue3 搭建前后端分离的博客系统
开发语言·python·flask
黎雁·泠崖12 小时前
【魔法森林冒险】13/14 支线任务 & 计分系统:丰富性与结局
java·开发语言
夕除12 小时前
js-20
开发语言·javascript·windows
sheji341612 小时前
【开题答辩全过程】以 基于Java的甜品蛋糕网上商城的设计与实现为例,包含答辩的问题和答案
java·开发语言
智能零售小白白12 小时前
零售多门店库存调拨优化:需求预测与路径规划的技术实现
java·开发语言·零售
前路不黑暗@12 小时前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea
光泽雨12 小时前
C#库文件调用逻辑
开发语言·c#
C++ 老炮儿的技术栈12 小时前
万物皆文件:Linux 抽象哲学的开发之美
c语言·开发语言·c++·qt·算法
柏木乃一12 小时前
Linux进程信号(1):信号概述,信号产生part 1
linux·运维·服务器·c++·信号·signal
colicode13 小时前
C++语音验证码接口API示例代码详解:高性能C++语音校验接入Demo
前端·c++·前端框架·语音识别