在协议分析中,我们经常的要提取浮点类型的值,然后转换成字符数组。我刚开始的做法是:
char szResult[65] = {0};
float fData = *(float)(buff);
sprintf(szResult, "%f", fData);
看上去没有什么问题呀!但是,问题出现了。如果这个浮点类型是4.58*10^-32,那么问题就
出现了。最好的做法是:
std::ostringstream oss;
oss<<fData;
string sResult = oss.str();
这样就不会存在问题了!