我正在尝试弄清楚如何将一个整数值写到我的文件的结尾。这个值是size
。
DWORD size = 12314432;
BOOL ret = WriteFile(hFile, size, sizeof(DWORD), NULL, NULL);
但是,WriteFile()
要求参数3的类型为LPCVOID
,因此我不确定如何将DWORD值给予它。
我试过了
unsigned char b[sizeof(DWORD)] = {0};
sprintf(b, "%d", size);
WriteFile(hFile, b, sizeof(DWORD), NULL, NULL);
然而,这只是把每个数字的十六进制值。所以,如果大小=1234,那么它会写“31 32 33 44”到文件的结尾。
我想文件的结尾只得到4个字节的数字。
2条答案
按热度按时间tjrkku2a1#
您提供DWORD的 * 地址 *,如下所示:
size
,所以说。jc3wubiy2#
你可以传递
(void*)&size
。你确实需要有地址的东西,比如size
。你不能在那里传递表达式。(void*) &(5*7+3)
不起作用。