u8 type = 1;
u8 rssi = 100;
u8 tag = 1;
u8 addr[6] = {0x56,0x57,0x58,0x00,0x00,0x00};
double x = 100.2;
double y = 102.5;
u8 payload1[40];
sprintf((char*)payload1,"%c,%6x,%lf,%lf,%c,%c",type,addr,x,y,rssi,tag);
u8 temp;
u8 type = 0;
u8 rssi=0;
u8 addr2[6];
double x;
double y;
u8 tag;
printf((const char*)payload);
printf("\n");
sscanf((const char *)payload,"%c,%6x,%lf,%lf,%c,%c",&type,addr2.addr,&x,&y,&rssi,&tag);
讀寫程序中payload1中存盤的不是addr陣列中的值,而是addr指標的地址,這是為什么?
我想將addr陣列中的值寫到payload1中,然后再用sscanf格式化寫到addr2中,應該怎樣寫?
還有一個問題:我將%6x寫成%6s時payload1中的addr內容是下標顛倒,為什么啊?
uj5u.com熱心網友回復:
已解決。。。。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/62978.html
標籤:基礎類
