完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在使用时,sprintf可以将整形数据存入char型数组中,但是不能将float型数据存入char型数组中,请问这是为什么。
void _ShowData_Change_S(uint16_t x,uint16_t y,uint8_t num,uint16_t fc,uint16_t bc,void *p) { char Fiv[5],One[1]; float *f; uint8_t *u8; int *it; if(num <= 2) u8 = (uint8_t*)p; else if(num > 4) f = (float*)p; switch(num) { case 1: sprintf(One,"%01c",*u8); TFT_ShowNumPic_S(x,y,One,fc,bc); break; case 51: sprintf(Fiv,"%05.1f",*f); TFT_ShowNumPic_S(x,y,Fiv,fc,bc); break; } } 这是一个显示函数,如果void *p传入的是整形数据可以显示出来,但是float类型的数据就显示不出来 |
|
相关推荐
1个回答
|
|
在MRS里面, wch 的risc-v工程的stdio实现默认是newlib-nano,为了减少代码占用,没有开启浮点打印之类的支持
要实现sprintf 浮点支持可以按照下面方法: 方法1,下图红色框打勾,蓝色不打勾(还是使用newlib-nano) 方法2,下面红色和蓝色框都不勾选(不使用newlib-nano) |
|
|
|
只有小组成员才能发言,加入小组>>
467 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2871 浏览 2 评论
2359 浏览 1 评论
810浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
635浏览 1评论
495浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
358浏览 1评论
632浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 03:01 , Processed in 1.193289 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号