hiFileSize = 5;
*FileSize[4] = hiFileSize;
//*FileSize <<= 32;
*FileSize = (DWORD)loFileSize;
我试过两种方法了,但是都不行
应该怎么做才能把它合成呢?
4 个解决方案
#1
unsigned long long FileSize
hiFileSize = 5;
*((unsigned long *)&FileSize + 0) = loFileSize;
*((unsigned long *)&FileSize + 1) = hiFileSize;
FileSize即可用。
当然,这里不得不说一下little endian和big endian。
上述代码在little endian的平台上OK。
hiFileSize = 5;
*((unsigned long *)&FileSize + 0) = loFileSize;
*((unsigned long *)&FileSize + 1) = hiFileSize;
FileSize即可用。
当然,这里不得不说一下little endian和big endian。
上述代码在little endian的平台上OK。
#2
看MAKEWORD,MAKELONG的实现,照葫芦画瓢就是了
#3
能举个例子吗?
#4
MAKEDWORDLONG(l, h) ((ULONGLONG)(((DWORD)(l)) | ((DWORDLONG)((DWORD)(h))) << 32))
#1
unsigned long long FileSize
hiFileSize = 5;
*((unsigned long *)&FileSize + 0) = loFileSize;
*((unsigned long *)&FileSize + 1) = hiFileSize;
FileSize即可用。
当然,这里不得不说一下little endian和big endian。
上述代码在little endian的平台上OK。
hiFileSize = 5;
*((unsigned long *)&FileSize + 0) = loFileSize;
*((unsigned long *)&FileSize + 1) = hiFileSize;
FileSize即可用。
当然,这里不得不说一下little endian和big endian。
上述代码在little endian的平台上OK。
#2
看MAKEWORD,MAKELONG的实现,照葫芦画瓢就是了
#3
能举个例子吗?
#4
MAKEDWORDLONG(l, h) ((ULONGLONG)(((DWORD)(l)) | ((DWORDLONG)((DWORD)(h))) << 32))