关于sprinf的问题
今天遇到一个比较郁闷的问题,我用sprintf把一个无符号整形数打印到一个数组中,然后再从串口输出,但输出的数据确实有符号的,上网查了下,sprintf是可以输出有符号的,测试程序如下(只贴了关键的片段),平台是stc单片机,8位的:uint8 buff[50];
uint16 a;
a = 60000;
sprintf(&buff, "%d", a);
Send_String(&buff);/*单片机串口输出函数*/
以上输出结果是 -5535
然后我把a改成32767,输出就正常了,因为32767是int型的最大的数字,再试了32768,又输出-32768了,所以我的结论是sprintf只能输出有符号数,请问大家有没遇到类似的问题,求解答,谢谢