Keil中sprintf格式化输出整型数,数据不对,求解

2020-01-26 12:42发布

uint8 str[50];
uint8 u8Len;

u8Len = sprintf(str,"Test %d", 1);
while (uart_sendBuffer(str,u8Len) != OK);

结果串口输出为“Test 358"
而且通过仿真keil仿真看也是这个结果,且u8Len为8

请问是用法不对么,还是哪里要设置一下

论坛里搜了一下,貌似没有类似情况
请大神赐教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
KongQuan
1楼-- · 2020-01-26 17:13
keil手册上有说明。
u8 format要修饰为%bu, 这一点与标准C是不兼容的。
zkf0100007
2楼-- · 2020-01-26 18:20
KongQuan 发表于 2013-12-14 14:14
keil手册上有说明。
u8 format要修饰为%bu, 这一点与标准C是不兼容的。

多谢,涨姿势了
gujiamao_love
3楼-- · 2020-01-26 19:29
涨姿势了。查了下,b是flag。

一周热门 更多>