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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 史上最全阿里 Java 面试题总结及答案

    史上最全阿里 Java 面试题总结及答案史上最全阿里Java面试题总结–答案一、Java基础\color{blue}{一、Java基础}一、Java基础1.JAVA中的几种基本数据类型是什么,各自占用多少字节。答案:java分为两种数据类型:1.基本数据类型2.引用数据类型:如,类,接口,数组基本数据类型:8种1.byte1个字节,-128~1272.short2个字节,-32768~327673….

    2022年7月18日
    21
  • 接口测试抓包工具_接口测试请求头里面有哪些内容

    接口测试抓包工具_接口测试请求头里面有哪些内容1、Poster    Poster为Firefox浏览器的一个插件,主要用来模拟发并HTTP请求。随着Chrome浏览器的流行,它也出了chrome版本:ChromePoster  在Fiefox浏览器中的安装非常简单。首先,打开Fiefox浏览器,菜单栏“工具”–> “添加组件”,搜索“poster”,在搜索例表中点击“安装”,然后重启浏览器即可。  打开方法:菜

    2025年9月18日
    6
  • Assert.assertEquals作用「建议收藏」

    Assert.assertEquals作用「建议收藏」junit.framework包下的Assert提供了多个断言方法.主用于比较测试传递进去的两个参数.Assert.assertEquals();及其重载方法:1.如果两者一致,程序继续往下运行.2.如果两者不一致,中断测试方法,抛出异常信息AssertionFailedError.查看源码,以Assert.assertEquals(intexpecte…

    2022年7月12日
    18
  • python进阶(22)pydantic–数据类型校验

    python进阶(22)pydantic–数据类型校验pydantic库的作用pydantic库是一种常用的用于数据接口schema定义与检查的库。Pydantic在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。pydantic安

    2022年7月30日
    9
  • ps去除水印的六种方法_PS去水印方法

    ps去除水印的六种方法_PS去水印方法方法一:使用选框工具勾选水印部分:按住Shift+f5选择内容识别:然后ctrl+d取消选择,水印就去掉了PS:其实这个方法有个快捷办法,直接使用选框工具选中之后,按Delete就可以弹出

    2022年8月2日
    11
  • 第四章:java 多线程volatile关键字 atomic类学习 java 原子性讲解,变量可见与不可见说明

    第四章:java 多线程volatile关键字 atomic类学习 java 原子性讲解,变量可见与不可见说明第四章:java 多线程volatile关键字 atomic类学习 java 原子性讲解,变量可见与不可见说明

    2022年4月23日
    44

发表回复

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

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