-3

我在我的项目中添加了一个资源。它的大小是 4.096 字节。我需要将它分配给 DWORD 因为 WriteFile() 的第三个参数需要它。

WriteFile(hFile, pExeResource,size, &bytesWritten, NULL);

所以我这样投:

UPDATE2:DWORD 引导大小 = 4096;//并且仍然警告我但是我收到了这个警告。你能帮帮我吗?

4

3 回答 3

3

我认为这是区域/语言差异与 C 语法的结合。

我假设您的意思4.0964,096使用逗号分隔符。(由于地区/语言差异,您可能使用.而不是,。)

在 C/C++ 中,您不使用分隔符。只需这样做:

DWORD bootsize = (DWORD)4096;
于 2011-11-20T22:52:23.197 回答
2

4.096是一个浮点值(类型double),刚好小于 4.1,DWORD而是一个整数类型(通常类似于 an unsigned int)。自然地,您会在转换中丢失浮点值的小数部分。(也许您的意思是数值4096(没有标点符号)?)

于 2011-11-20T22:52:29.200 回答
2

4.096是一个字节的四又 96/1000。我想你只是想要4096。那你就不用投了。通常你不会在编程中使用逗号或句点,除非你真的把它当作小数点。

于 2011-11-20T22:53:43.837 回答