怪问题~你遇到过没~
就一句sscanf(szTmp,"%02X%02X%02X%02X",&tmp[0],&tmp[1],&tmp[2],&tmp[3]);后
成员变量int m_val不可读了,报0xc0000005,(不是指针,就普通int也不可读)删除这句就没事~
你说怪不?
[解决办法]
在sscanf(szTmp,"%02X%02X%02X%02X",&tmp[0],&tmp[1],&tmp[2],&tmp[3]);后面加
ffush(stdin);刷新缓存区
后在读入m_val变量。
[解决办法]
sscanf不做类型检查,他只根据格式化控制符判断后面可以写入多少字节。对于%02X来说,虽然你认为读入的时一字节,实际上他当作int类型读,读入四字节,因此如果tmp不是int或者unsigned int类型数组,就存在内存访问越界