假设我有一些我要写入文件的栅格数据..现在我想把它写成bmp文件..

这个数据恰好不是DWORD对齐的,如果我理解正确的话,需要用足够的字节填充以到达下一个DWORD。

然而,当我尝试使用此代码填充它时:

bmFile.Write(0x0, (4-(actualWidth%4)));

我收到错误..如果我尝试调试(我正在使用MSVC ++ 6.0),下一个语句指向CFile :: Write中的ASSERT,断言第一个参数为NULL ..所以这会失败..

我该如何填充它?我应该写出来:

bmFile.Write("0x0"(4-(actualWidth%4)));

代替?或者这会被字面上对待......?

谢谢..

有帮助吗?

解决方案

也许试试:

bmFile.Write("\0\0\0\0", (4-(actualWidth%4)));

正如您所说,您的第一个示例是尝试写入空指针指向的数据。你的第二个例子是从字节'0','x','0'写入,它们的ASCII值为0x30,0x78,0x30,这可能不是你想要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top