各位高手:请问一个问题(VC++)
当文件指针(dwValue )大于2147483647时
(PLONG)lpDistanceToMoveHigh怎么用下面的代码有错误吗?
//dwValue 大于2147483647
DWORD lpDistanceToMoveHigh;
DWORD lpDistanceToMoveLow;
lpDistanceToMoveHigh=(unsigned long)dwValue / 2147483647;
lpDistanceToMoveLow=(unsigned long)dwValue % 2147483647;
SetFilePointer( Buf->hFile, (LONG)lpDistanceToMoveLow,(PLONG)lpDistanceToMoveHigh, FILE_BEGIN );
当文件指针(dwValue )大于2147483647时
(PLONG)lpDistanceToMoveHigh怎么用下面的代码有错误吗?
//dwValue 大于2147483647
DWORD lpDistanceToMoveHigh;
DWORD lpDistanceToMoveLow;
lpDistanceToMoveHigh=(unsigned long)dwValue / 2147483647;
lpDistanceToMoveLow=(unsigned long)dwValue % 2147483647;
SetFilePointer( Buf->hFile, (LONG)lpDistanceToMoveLow,(PLONG)lpDistanceToMoveHigh, FILE_BEGIN );
fmpBufFun.cpp
h:\2002\硬盘播出(协议)\好莱坞 多通道带播出硬盘播控系统(截播)\SDK\fmpBufFun\fmpBufFun.cpp(451) : error C2664: “SetFilePointer” : 不能将参数 3 从“DWORD *”转换为“PLONG”
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
LONG lpDistanceToMoveHigh;
LONG lpDistanceToMoveLow;
不要用DWORD,因为它无符号,而long有。