2016-09-27 62 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」

有一個好的一天..