如何将char数组转换为十六进制并将其替换为十六进制数组中的子字符串?

时间:2016-08-06 17:29:51

标签: c hex

我搜索过它并没有找到解决以下问题的具体方法。

我有char数组(802.11数据包),如下所示,其中包含0x格式的十六进制值。

char packet[]={
0x80,0x00,0x00,0x00 //frame control and duration
,0xff,0xff,0xff,0xff,0xff,0xff //Broadcast
,0x1c,0x7e,0xe5,0x33,0x80,0xf8//source address
,0x1c,0x7e,0xe5,0x33,0x80,0xf8//BSSID
,0x80,0x42 //sequence number and frame number =0
,0x80,0xbd,0xc8,0x8e,0x07,0x00,0x00,0x00 //timestamp
,0x64,0x00 //beacon interval
,0x31,0x04 //capability info
,0x00,0x08,0x41,0x6d,0x69,0x73,0x68,0x42,0x6f,0x79 //SSID(AmishBoy)
,0x01,0x08,0x82,0x84,0x8b,0x96,0x0c,0x12,0x18,0x24 //supported tags..
,0x10,0x47,0x00,0x10 //FCS}

现在SSID字段的字符串值为' AmishBoy'。我想通过转换为0x格式的十六进制格式来替换文本数组中的那个值,

char *SSID="StackOve";

这样每次都是“'数据包”的唯一子字符串。阵列。

谢谢。

0 个答案:

没有答案