Frage

Nehmen wir an ich habe einige Rasterdaten I in eine Datei schreiben wollen .. Jetzt möchte ich es als BMP-Datei schreiben ..

geschieht Diese Daten werden nicht ausgerichtet DWORD, die, wenn ich richtig verstehe, mit genügend Bytes aufgefüllt werden muss, um die nächste DWORD erreichen ..

Allerdings, wenn ich zu Pad versuchen Sie es mit diesem Code:

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

Ich erhalte eine Fehlermeldung .. Wenn ich zu debuggen versuchen (I MSVC bin mit ++ 6.0), die nächste Anweisung verweist auf ein ASSERT in CFile :: Write dass der erste Parameter behauptet NULL ist .. also das fehlschlägt ..

Wie soll ich Pad es? soll ich schreiben:

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

statt? oder würden diese behandelt buchstäblich ...?

Danke ..

War es hilfreich?

Lösung

Vielleicht versuchen:

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

Ihr erstes Beispiel dafür ist, wie Sie sagen, versuchen, Daten zu von einem Null-Zeiger zeigt zu schreiben. Ihr zweites Beispiel schreiben würde aus dem Bytes '0', 'x', '0', die ASCII-Werte haben, 0x30, 0x78, 0x30, das ist wahrscheinlich nicht das, was Sie beabsichtigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top