C++字符串格式化的几种方式

C++字符串格式化的几种方式使用 snprintf 使用 boost format 使用 stringstream 具体示例使用 snprintf include stdio h usingstd string 准备数据 stringhaha haha intnum 3 准备格式 stringfmt teststring s testnumber stdio h

  1. 使用snprintf格式化字符串
  2. 使用boost::format格式化字符串
  3. 使用stringstream格式化字符串

具体示例

  1. 使用snprintf格式化字符串
#include <stdio.h> using std::string; // 准备数据 string haha("haha"); int num = 3; // 准备格式 string fmt("test string: %s. test number: %d"); char targetString[1024]; // 格式化,并获取最终需要的字符串 int realLen = snprintf( targetString, sizeof(targetString), fmt.c_str(), haha.c_str(), num ); 

参考链接:http://www.cplusplus.com/reference/cstdio/snprintf/

  1. 使用boost::format格式化字符串
#include "boost/format.hpp" // 准备数据 string haha("haha"); int num = 3; // 准备格式 boost::format fmt("test string: %s. test number: %d"); // 格式化 fmt % haha % num; // 获取最终需要的字符串 string targetString = fmt.str(); 

参考链接:https://www.boost.org/doc/libs/1_70_0/libs/format/example/sample_formats.cpp

  1. 使用stringstream格式化字符串
#include <sstream> using std::stringstream; // 准备数据 string haha("haha"); int num = 3; // 准备根据格式造字符串流 stringstream fmt; /* 或者使用 ostringstream */ // 造字符串流 fmt << "test string: " << haha << ". test number: " << num; // 获取最终需要的字符串 string targetString = fmt.str(); 

参考链接:http://www.cplusplus.com/reference/ostream/ostream/operator<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231957.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月10日 下午7:01
下一篇 2025年11月10日 下午7:22


相关推荐

  • 【停更】Deepfacelab 新手教程

    【停更】Deepfacelab 新手教程欢迎进入本教程,本教程不定期更新本文教程内容更新时间为:2019/2,本文最后更新时间为:2019/3/8欢迎进群讨论,我不是群主,群主的各QQ群号码请看:https://deepfakes.com.cn/index.php/资助升级群这几天朱茵换脸杨幂的事件上了热门,我们群不存在该违法问题。然而因为网上的这个事件,2群排队已经可以说排到了明年。群主表示等风波结束了再考虑新群,毕竟群主不想…

    2022年5月4日
    116
  • matlab for循环语句实例_matlab如何循环

    matlab for循环语句实例_matlab如何循环MATLABfor循环MATLAB中for循环是一个重复的控制结构,可以有效地写一个循环,只是执行的次数是特定的。MATLABfor循环语法:MATLAB中的for循环的语法如下:forindex=values…endfor循环的值有下述三种形式之一:格式 描述 initval:endval 将索引变量从初始到终值递增1,并重复执行程序语句,直到索引值大于终值。 initval:step:endval

    2022年10月7日
    4
  • zabbix 安装 mysql_基于MySQL的zabbix安装及配置

    zabbix 安装 mysql_基于MySQL的zabbix安装及配置环境准备工作 zabbix 的安装需要 LAMP Linux Apache MySQL PHP 环境系统 Centos7 主机地址 10 0 0 10 一 关闭 SELinux 和 Firewalld1 首先查看 SELinux 状态 方法一 输入命令 usr sbin sestatus v 结果如下 方法二 直接输入命令 getenforce1 临时关闭 不用重启机器 输入命令 setenforce0

    2026年3月17日
    2
  • 完整版彻底卸载SQL Server2019

    完整版彻底卸载SQL Server2019重新安装 SQLServer201 等要注意的事项

    2026年3月17日
    2
  • 百度AI文心一言怎么画思维导图_百度AI文心一言思维导图生成教程

    百度AI文心一言怎么画思维导图_百度AI文心一言思维导图生成教程

    2026年3月12日
    2
  • 我离开jQuery(layui)选择vue[通俗易懂]

    我离开jQuery(layui)选择vue[通俗易懂]layui采用的是jquery做底层的支撑,熟悉jQuery的朋友使用自然觉得好用;但是jQuery对数据、DOM的处理【繁琐】。刚接触vue可能会很难转换思维模式,但使用一段时间会自然熟悉vue的思维方式,使用简单,且vue的开源免费UI框架多,易用。离开layui后我用了一周学习了vue。我离开layui的重点是layui的【飞吻】获取麻烦,还收费;社区提问还有钱。。受不了。…

    2022年6月25日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号