写了个方法,将一个32位整形数的各字节顺序进行前后颠倒,欢迎大家指点。
template <class T>
void upsideDownInt(T *data)
{
if ( 0 == data )
{
return;
}
unsigned char *start = (unsigned char *)data;
int intSize = sizeof(T);
unsigned char newData[intSize];
for ( int i = intSize - 1; i >= 0; --i )
{
newData[intSize - i - 1] = start[i];
}
T *newPointer = (T *)&newData;
*data = *newPointer;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
short num2 = 5;
upsideDownInt<short>(&num2);
qDebug("num2 is %d", num2);
return a.exec();
}
本文介绍了一个用于反转32位整数各字节顺序的方法,并通过一个示例展示了如何使用该方法来反转一个short类型变量的字节顺序。
18万+

被折叠的 条评论
为什么被折叠?



