sprintf()函数的介绍及其用法

news2024/11/19 6:19:50

目录

前言

一:sprintf()函数的介绍

二:sprintf()函数的原型

三:sprintf()函数的用法

1.控制输出格式

2.将数字转化成字符串

3.拼接字符串

4.当然,也可以拼接多个数值

5.sprintf()的返回值


前言

sprintf()函数是 C 语言中比较常用的一个函数,当然 C++ 中也是可以使用的,只是需要注意一些格式。

一:sprintf()函数的介绍

sprintf()函数的头文件是 <stdio.h>,当我们需要格式化的数据写入字符串时,它是一个非常有用的工具,可以动态的创建字符串。sprintf()函数将结果存储在字符数组中。sprintf()函数和 printf()函数功能相似,但是 printf()函数打印输出到屏幕上,而 sprintf()函数打印输出到字符串中。

二:sprintf()函数的原型

sprintf(char *str,const char*format,...); 

sprintf()括号中有3个参数:

str:要写入的字符串的指针

format:包含格式控制符的字符串,用于指定输出的格式

. . .  :可变参数列表。根据格式化字符串中指定的格式进行输出

三:sprintf()函数的用法

1.控制输出格式

这个功能是和 printf()差不多的,这里只是为了展示它的功能,一般情况下控制输出格式直接用 printf()就可以了。 

【代码如下】

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	double a=37.12345;
	char ch[100];
	sprintf(ch,"%.3f",a);
//其实这里多此一举了,直接用 printf 就可以了,但这里为了展示 sprintf()的用法
	printf("%s",ch);
}

【运行结果】

2.将数字转化成字符串

注意,这里的数字可以是 int 型,也可以是 double、float 型。所以这个函数还是很方便的,(因为像字符串转化成数字的几个函数,比如 atoi()函数,它是只能实现字符串转化成 int 型整数,如果要转化成小数,就不可以,需要用 atof()函数,我之前有一篇文章专门讲的字符串与数字的转化,想要了解的可以去看看)

【代码如下】

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int num=37829;
	char ch[100];
	sprintf(ch,"%d",num);
	printf("%s",ch);
//注意,输出的是字符串,格式字符要随之改变,否则会输出错误
}

【运行结果】

3.拼接字符串

#include <stdio.h>
using namespace std;
int main()
{
	char ch1[]="abcd";
	char ch2[]="efgh";
	char ch3[100];
	sprintf(ch3,"%s%s",ch1,ch2);
	printf("ch1在前: %s\n",ch3);

ch1,ch2的位置不同,拼接的顺序也就不同

	sprintf(ch3,"%s%s",ch2,ch1);
	printf("ch2在前: %s",ch3);
}

【运行结果】

4.当然,也可以拼接多个数值

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a=123,b=456;
	char ch[100];
	sprintf(ch,"%d%d",a,b);
	printf("a在前: %s\n",ch);

//注意,printf输出时,格式字符始终是 %s,因为始终是存储在字符串数组中的

	sprintf(ch,"%d%d",b,a);
	printf("b在前: %s",ch);
}

【运行结果】

5.sprintf()的返回值

sprintf()函数的返回值是字符串数组中的字符个数,具体看情况分析,不过一般还是用 strlen(ch)直接得到字符串数组的大小,这样更简洁方便。

【代码如下】

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	double a=37.12345;
	char ch[100];
	printf("%d",sprintf(ch,"%f",a));
//返回值是 int 型数,注意格式字符是 %d .
}

【输出结果】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2162031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Q必达任务脚本

文章目录 1.购买服务器地址2.部署教程3. 代码如下4. 如何联系我 1.购买服务器地址 服务器购买地址 https://t.aliyun.com/U/rUHk58 若失效&#xff0c;可用地址 https://www.aliyun.com/activity/wuying/dj?source5176.29345612&userCode49hts92d 2.部署教程 2024年最…

从零开始构建后台管理系统列表:新手友好教程,全程使用 HTML+CSS+JavaScript,涵盖增删查改、导入导出、排序等功能(含完整源码)

b站视频演示效果&#xff1a; 效果图&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>后台管理系统</title><!-- 引入正确的 Vue.js 版本 --><script src"https:/…

鸿蒙 OS 开发零基础快速入门教程

视频课程: 东西比较多, 这里主要分享一些代码和案例. 开关灯效果案例: 开灯 开关灯效果案例: 关灯 Column 和 Row 的基本用法 Entry Component struct Index {State message: string 张三;build() {// 一行内容Row() {// 一列内容Column() {// 文本内容Text(this.mess…

27 C 语言标准库 <stdio.h> 中的两个重要字符串函数:sprintf、sscanf

目录 1 sprintf 1.1 函数原型 1.2 功能说明 1.3 案例演示 1.4 注意事项 2 sscanf 2.1 函数原型 2.2 功能说明 2.3 案例演示 2.4 注意事项 1 sprintf 1.1 函数原型 sprintf 函数是 C 语言标准库中的一个函数&#xff0c;用于将格式化的数据写入字符串。其函数原型定义…

9.24作业

将昨天的My_string类中的所有能重载的运算符全部进行重载 、[] 、>、<、、>、<、! 、&#xff08;可以加等一个字符串&#xff0c;也可以加等一个字符&#xff09;、输入输出(<< 、 >>) 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_…

使用Docker和cpolar在Linux服务器上搭建DashDot监控面板

使用Docker和cpolar在Linux服务器上搭建DashDot监控面板 前言环境准备安装Docker下载Dashdot镜像 部署DashDot应用本地访问DashDot服务安装cpolar内网穿透固定DashDot公网地址结语 前言 在这个数字化飞速发展的时代&#xff0c;服务器作为支撑各种应用和服务的基础设施&#xf…

C++类和对象(中)【下篇】

&#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: C专栏 目录 赋值运算符重载 运算符重载 赋值运算符重载 日期类实现 运算符重载<和运算符重载 运算符重载进行复用 运算符重载< 运算符重载> 运算符重载> 运算符重载! 获取某年某月的天数…

大模型算法岗常见面试题100道(值得收藏)非常详细收藏我这一篇就够了

大模型应该是目前当之无愧的最有影响力的AI技术&#xff0c;它正在革新各个行业&#xff0c;包括自然语言处理、机器翻译、内容创作和客户服务等等&#xff0c;正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个&#xff0c;在大模型纵横的时代&#xff0c;不…

在Markdown中实现内部查询

markdown实现内部查询 在想要跳转到的位置添加 <a idxxx></a> 标签&#xff0c;如下图&#xff1a; 然后按如下格式添加目录 [跳转文字](#id)&#xff1a; 如上操作即可实现markdown内部查询。 具体实现效果如下&#xff1a;

八大排序——万字长文带你剖析八大排序(C语言)

本篇文章主要介绍八大排序的思想和具体实现&#xff0c;也会分析具体的时间复杂度和空间复杂度&#xff0c;提醒一些容易出现的坑和实现一些不同版本的排序&#xff0c;以及这些不同排序之间的效率分析 目录 1.插入排序 1.1直接插入排序 1.1.1 直接插入排序的思想&#xff…

PyTorch模型转ONNX量化模型

你是否发现模型太大&#xff0c;无法部署在你想要的云服务上&#xff1f;或者你是否发现 TensorFlow 和 PyTorch 等框架对于你的云服务来说太臃肿了&#xff1f;ONNX Runtime 可能是你的救星。 如果你的模型在 PyTorch 中&#xff0c;你可以轻松地在 Python 中将其转换为 ONNX…

关于YOLOX的一些优势

YOLOX 是旷视开源的高性能检测器。旷视的研究者将解耦头、数据增强、无锚点以及标签分类等目 标检测领域的优秀进展与 YOLO 进行了巧妙的集成组合&#xff0c;提出了 YOLOX&#xff0c;不仅实现了超越 YOLOv3、 YOLOv4 和 YOLOv5 的 AP&#xff0c;而且取得了极具竞争力的推理速…

FME学习笔记

读取数据 方法一&#xff1a;add reader 通过读模块来进行数据的读取 方法二&#xff1a;FeatureReader Parameters 通过转换器来进行数据的读取 可以通过空间范围进行筛选 在FME中&#xff0c;所有数据处理都要用到的&#xff0c;绝对的重点&#xff1a;转换器&#xff…

深圳某局联想SR850服务器黄灯 不开机维修

深圳 福田区1台Lenovo Thinksystem SR850 四路服务器黄灯问题现场处理。 1&#xff1a;型号&#xff1a;联想SR850 机架式2U服务器 2&#xff1a;故障&#xff1a;能通电&#xff0c;开机按钮快闪&#xff0c;随后叹号警告灯常亮 3&#xff1a;用户自行折腾无果后找到我们tech …

【推文制作】秀米简明教程 1.0

【前言】本文内容主要是针对一些常用的秀米操作进行介绍&#xff0c;并说明一些往年的经验要求。但是&#xff0c;最重要的是&#xff0c;请发挥你的艺术创造力&#xff0c;相信你一定可以做出更好看的推文。 一、秀米页面介绍 在使用秀米之前&#xff0c;我们会有一个通过浏览…

Maya学习笔记:项目设置和快捷键

文章目录 项目设置工程文件夹 快捷键 项目设置 工程文件夹 maya需要一个文件夹存放自己的工程内容 先指定一个文件夹 文件/项目窗口 选择一个文件夹&#xff0c;然后选择创建默认工作区 然后生成文件目录 在项目窗口里&#xff0c;选择要生成的子文件夹&#xff08;保持默认…

【ASE】第二课_溶解效果

今天我们一起来学习ASE插件&#xff0c;希望各位点个关注&#xff0c;一起跟随我的步伐 今天我们来学习溶解效果&#xff0c;通过渐变纹理达到好像燃烧效果的溶解效果 今天我们的效果很简单&#xff0c;但是其中包含没有学习的节点&#xff0c;所以还是要拿出来学习一下 最终…

ESP32异常报错2

出现这种情况 一般是缺少";"分号. 或者缺少, 仔细查找代码.查看是哪儿缺少了这些代码

【2024W35】肖恩技术周刊(第 13 期):肉,好次!

周刊内容: 对一周内阅读的资讯或技术内容精品&#xff08;个人向&#xff09;进行总结&#xff0c;分类大致包含“业界资讯”、“技术博客”、“开源项目”和“工具分享”等。为减少阅读负担提高记忆留存率&#xff0c;每类下内容数一般不超过3条。 更新时间: 星期天 历史收录:…