我在项目中添加了一个资源。它的大小是4.096字节。 我需要将它分配给DWORD,因为WriteFile()的第三个参数需要它。
WriteFile(hFile, pExeResource,size, &bytesWritten, NULL);
所以我这样投了它:
UPDATE2:DWORD bootsize = 4096; //仍然警告我 但我得到了这个警告。你能帮助我吗?
答案 0 :(得分:3)
我认为这是区域/语言差异与C语法的结合。
我假设您的4.096
是4,096
,并带有逗号分隔符。 (由于区域/语言差异,您可能使用.
代替,
。)
在C / C ++中,您不使用分隔符。只需这样做:
DWORD bootsize = (DWORD)4096;
答案 1 :(得分:2)
4.096
是一个浮点值(类型为double
),仅小于4.1,而DWORD
是一个整数类型(通常类似于unsigned int
)。当然,您会丢失转换中浮点值的小数部分。 (也许你的意思是整数值4096
(没有标点符号)?)
答案 2 :(得分:2)
4.096
是一个字节的四和96/1000。我想你只想要4096
。那你就不必投了。通常,您不会在编程中使用逗号或句号,除非您真的将其表示为小数点。