标题: 51单片机关于使用sprintf函数遇到\0的情况 [打印本页]

作者: HelloPan111    时间: 2019-4-16 11:23
标题: 51单片机关于使用sprintf函数遇到\0的情况
使用sprintf(a,"%x",b);当b中含有空字符的时候,打印出来得对应的16进制数不是0,而是一个其他值。
是sprintf不能处理空字符吗?

作者: devcang    时间: 2019-4-16 12:55
%x 本来是打印数值类型成十六进制的字符串的,空字符?是指ASCII 0x20?


作者: HelloPan111    时间: 2019-4-16 13:01
devcang 发表于 2019-4-16 12:55
%x 本来是打印数值类型成十六进制的字符串的,空字符?是指ASCII 0x20?

是ASCII的0,NULL。正常16进制打印出来应该是0x00,实际打印出来是个随机值
作者: HelloPan111    时间: 2019-4-16 13:11
devcang 发表于 2019-4-16 12:55
%x 本来是打印数值类型成十六进制的字符串的,空字符?是指ASCII 0x20?

是只NULL字符,正常打印为16进制的值应该是0x00,现在打印不对




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1