sprintf函数

1.头文件:#include <stdio.h>

2.函数原型:int sprintf ( char * str, const char * format, ... )

3.函数功能:将数据格式化为字符串,再写入到字符串中

4.参数分析:

str:是字符串指针,指向需要被写入格式化数据的字符串

format:是格式化的数据

... :说明格式化的数据可以是多个

5.如何将数据格式化?

和 printf 函数一样,不同的数据类型有不同的格式化符号,如%d、%f、%c、%s……

x.y :x是为数据提供的宽度,y是数据实际占用宽度

(1)对于整型数据:%x.yd

如果数据本身宽度 < 实际占用宽度,缺少的宽度在数据左侧用0填充;

如果数据本身宽度 >= 实际要占用宽度,则实际占用宽度为数据本身宽度

(2)对于浮点型数据:%x.yf

x用于控制数据占用宽度,y用于控制浮点数小数个数

(3)对于字符型数据:%x.ys

x用于控制数据占用宽度,y用于控制输出字符个数

6.实例代码

(1)将整型数据格式化写入字符串

char arr[10];
int a = 123;
int b = 456;
sprintf(arr, "%d%d", a, b);
printf("%s\n", arr);//123456

 (2)将浮点型数据格式化写入字符串

char arr[20];
float a = 3.14;
float b = 520.1314;
sprintf(arr, "%.2f %.4f", a, b);
printf("%s\n", arr);//3.14 520.1314

(3)将字符型数据格式化写入到字符串中(连接两个字符串)

char arr[20];
char* s1 = "abcdef";
char* s2 = "ghijklmn";
sprintf(arr, "%s%s", s1, s2);
printf("%s\n", arr);//abcdefghijklmn

 7.sprintf函数使用注意事项

写入的字符串空间要足够大,否则会内存溢出

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断二进制最低位数字

在二进制表示中&#xff0c;偶数的最低位&#xff08;最右边一位&#xff09;始终为0&#xff0c;而奇数的最低位始终为1。 当一个数与1进行按位与运算时&#xff0c;实际上是在检查该数的最低位是0还是1。 如果结果为0&#xff0c;则说明这个数是偶数&#xff0c;因为偶数的…

前端review

关于实时预览vs code中的颜色代码需要安装的插件&#xff0c;包括html文件格式中的颜色代码安装Flutter Color插件 VSCode 前端常用插件集合 1.Auto Close Tag自动闭合HTML/XML标签 2.Auto Rename Tag自动完成另一侧标签的同步修改 3.Beautify格式化代码&#xff0c;值得注…

不得不讲Rope Crystal的更新版本:蓝宝石

文章目录 &#xff08;一&#xff09;关于 Rope - Sapphire&#xff08;二&#xff09;主界面&#xff08;三&#xff09;变化参数详解&#xff08;2.1&#xff09;预览窗口分离&#xff08;2.2&#xff09;标记点控制&#xff08;2.3&#xff09;画面方向&#xff08;2.4&…

常见的软件测试用例设计方法有哪些?

常见的软件测试用例设计方法&#xff0c;个人认为主要是下面这6种&#xff1a; 1)流程图法&#xff08;也叫场景法&#xff09; 2)等价类划分法 3)边界值分析 4)判定表 5)正交法 6)错误推测法 这6种常见方法中&#xff0c;我分别按照定义、应用场景、使用步骤、案例讲解…

Java LeetCode篇-深入了解关于数组的经典解法

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 轮转数组 1.1 使用移位的方式 1.2 使用三次数组逆转法 2.0 消失的数字 2.1 使用相减法 2.2 使用异或的方式 3.0 合并两个有序数组 3.1 使用三指针方式 3.2 使用合…

二十九、微服务案例完善(数据聚合、自动补全、数据同步)

目录 一、定义 二、分类 1、桶(Bucket)聚合: 2、度量(Metric&#xff09;聚合: 3、管道聚合&#xff08;Pipeline Aggregation&#xff09;&#xff1a; 4、注意&#xff1a; 参与聚合的字段类型必须是: 三、使用DSL实现聚合 聚合所必须的三要素&#xff1a; 聚合可配…

为什么要用 Redis 而不用 map/guava 做缓存? Redis为什么这么快 Redis有哪些数据类型 Redis的应用场景

文章目录 为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快Redis有哪些数据类型Redis的应用场景总结一计数器缓存会话缓存全页缓存&#xff08;FPC&#xff09;查找表消息队列(发布/订阅功能)分布式锁实现 总结二 简单的聊聊Redis常见的一些疑问点&#xff1a;具体…

什么是数据增强,为什么会让模型更健壮?

在做一些图像分类训练任务时&#xff0c;我们经常会遇到一个很尴尬的情况&#xff0c;那就是&#xff1a; 明明训练数据集中有很多可爱猫咪的照片&#xff0c;但是当我们给训练好的模型输入一张戴着头盔的猫咪进行测试时&#xff0c;模型就不认识了&#xff0c;或者说识别精度…

【STM32】GPIO输入

1 GPIO输出 1.1 按键简介 按键&#xff1a;常见的输入设备&#xff0c;按下导通&#xff0c;松手断开 按键抖动&#xff1a;由于按键内部使用的是机械式弹簧片来进行通断的&#xff0c;所以在按下和松手的瞬间会伴随有一连串的抖动 1.2 传感器模块简介 传感器模块&#xff…

【腾讯云云上实验室】探索向量数据库背后的安全监控机制

当今数字化时代&#xff0c;数据安全成为了企业和个人最为关注的重要议题之一。随着数据规模的不断增长和数据应用的广泛普及&#xff0c;如何保护数据的安全性和隐私性成为了迫切的需求。 今天&#xff0c;我将带领大家一起探索腾讯云云上实验室所推出的向量数据库&#xff0c…

RPG项目01_UI登录

首先创建一个项目 将资源包导进Resources文件夹 创建一个Scripts脚本文件夹 然后再对Scripts脚本文件夹分门别类 导入UI资源包 创建一个Image 按住Alt 选择右下角 image就会覆盖整个面板 修改image名字为BG 将image图片放置背景栏 再创建一个image 改名为MainMenu 修改MainMenu…

深度学习之图像分类(十五)DINAT: Dilated Neighborhood Attention Transformer详解(一)

Dilated Neighborhood Attention Transformer Abstract Transformers 迅速成为跨模态、领域和任务中应用最广泛的深度学习架构之一。在视觉领域&#xff0c;除了对普通Transformer的持续努力外&#xff0c;分层Transformer也因其性能和易于集成到现有框架中而受到重视。这些模…