كيفية إضافة بايت حشوة إلى نقطية؟
سؤال
دعنا نقول أن لدي بعض البيانات النقطية التي أريد أن أكتبها إلى ملف .. الآن أريد أن أكتبها كملف BMP ..
لا تكون هذه البيانات محاذاة dword ، والتي ، إذا فهمت بشكل صحيح ، يجب أن تكون مبطنة مع بايت كافية للوصول إلى DWORD التالية ..
ومع ذلك ، عندما أحاول أن أضعها بهذا الرمز:
bmFile.Write(0x0, (4-(actualWidth%4)));
أحصل على خطأ .. إذا حاولت التصحيح (أنا أستخدم MSVC ++ 6.0) ، يشير البيان التالي إلى تأكيد في CFILE :: يكتب الذي يؤكد أن المعلمة الأولى هي فارغة .. لذلك فشل ..
كيف يجب أن أقوم بوسادةها؟ هل يجب أن أكتب:
bmFile.Write("0x0"(4-(actualWidth%4)));
في حين أن؟ أم أن هذا سيعامل حرفيًا ...؟
شكرًا..
المحلول
ربما حاول:
bmFile.Write("\0\0\0\0", (4-(actualWidth%4)));
مثالك الأول هو ، كما تقول ، في محاولة كتابة البيانات التي يشير إليها مؤشر فارغ. مثالك الثاني سوف يكتب من البايت "0" ، "X" ، "0" الذي يحتوي على قيم ASCII 0x30 ، 0x78 ، 0x30 ، وهو ما لا تنوي ما تنوي.
لا تنتمي إلى StackOverflow