2016-09-27 86 views
0

我想获取并发送我的MCU的IP地址,SubnetMask和网关地址。 我得到了他们,但问题是合并他们。我想与阵列将它们合并,并发送了一步..sprintf十六进制数删除

例如:

我值 e2promIpAddress = 0A020705 //代表10.2.7.5

e2promSubnetMask = FFFF0000 //代表255.255。 0.0

e2promGateway = 0A02070F //表示10.2.7.15

当添加与的sprintf()

char buffer[64]; 
sprintf(buffer,"%x%x%x",e2promIpAddress,e2promSubnetMask,e2promGateway); 

输出是A020705FFFF00000A02070F

可惜的是数组必须从0开始,但它消失了..提前

感谢

回答

0

我终于找到我的答案,并希望在这里发表..

例如,我的值e2promIpAddress = 0A020705是4个字节。

当我写这个;

sprintf(buffer,"%02x%02x%02x",e2promIpAddress,e2promSubnetMask,e2promGateway); 

它没有垫 “0”

当我写这篇用;

sprintf(buffer,"%08x%08x%08x",e2promIpAddress,e2promSubnetMask,e2promGateway); 

与 “0” 开始垫与所有值 “0”

有一个好的一天..