假设我有一些我要写入文件的栅格数据..现在我想把它写成bmp文件..
这个数据恰好不是DWORD对齐的,如果我理解正确,需要用足够的字节填充以到达下一个DWORD。
然而,当我尝试使用此代码填充它时:
bmFile.Write(0x0, (4-(actualWidth%4)));
我收到错误..如果我尝试调试(我正在使用MSVC ++ 6.0),下一个语句指向CFile :: Write中的ASSERT,断言第一个参数为NULL ..所以这会失败.. < / p>
我该如何填充它?我应该写出来:
bmFile.Write("0x0"(4-(actualWidth%4)));
代替?或者这会被字面上对待......?
谢谢..
答案 0 :(得分:3)
也许试试:
bmFile.Write("\0\0\0\0", (4-(actualWidth%4)));
正如您所说,您的第一个示例是尝试写入空指针指向的数据。你的第二个例子是从字节'0','x','0'写入,它们的ASCII值为0x30,0x78,0x30,这可能不是你想要的。