2009-01-07 79 views
1

可以說我有一些柵格數據我想要寫入一個文件..現在我想寫它作爲一個BMP文件..如何將填充字節添加到位圖?

這個數據碰巧不是DWORD對齊,如果我理解正確,需要以足夠的字節但是被填充到達下一個DWORD ..

,當我嘗試填充它與此代碼:

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

我得到一個錯誤。如果我嘗試調試(我使用MSVC++ 6.0),下一條語句指向CFile :: Write中的一個ASSERT,斷言第一個參數爲NULL ..因此,這失敗..

我應該如何放置它?我應該寫出:

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

取而代之?或者這會被字面上處理...?

謝謝..

回答

3

也許嘗試:

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

你的第一個例子,如你所說,嘗試將數據寫入一個空指針指向。你的第二個例子會從字節'0','x','0'寫入ASCII值爲0x30,0x78,0x30,這可能不是你想要的。

+0

\ 0 \ 0 \ 0 \ 0做什麼?寫四個「0」位或四個「0」字節? – krebstar 2009-01-07 03:03:50