zkf0100007 发表于 2013-12-14 13:34:40

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

uint8 str;
uint8 u8Len;

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

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

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

论坛里搜了一下,貌似没有类似情况
请大神赐教

KongQuan 发表于 2013-12-14 14:14:20

keil手册上有说明。
u8 format要修饰为%bu, 这一点与标准C是不兼容的。

zkf0100007 发表于 2013-12-14 14:39:53

KongQuan 发表于 2013-12-14 14:14
keil手册上有说明。
u8 format要修饰为%bu, 这一点与标准C是不兼容的。

多谢,涨姿势了

gujiamao_love 发表于 2013-12-15 19:24:52

涨姿势了。查了下,b是flag。
页: [1]
查看完整版本: Keil中sprintf格式化输出整型数,数据不对,求解