ننشئ مخزنًا لبايتات مؤلفة، بينها NUL. [1] [2]
الخلاصة السريعة
المثال
from ctypes import create_string_buffer, sizeof b=create_string_buffer(b"A\0B") print(sizeof(b)) print(b.raw) print(b.value)
المحتوى والقيمة
المخزن الكامل 41 00 42 00 بالست عشري. توقف القراءة كسلسلة عند أول بايت صفري يعطي 41 وحده؛ لا يحذف الباقي. الناتج 4، ثم b'A\x00B\x00'، ثم b'A'. [1] [2]

كيف تحققنا؟
قرأنا raw قبل value وبعدها فبقيت متطابقة. عندما بدلنا البايت الصفري الداخلي بـC، صارت القيمة b'ACB'. [1] [2]
حدود المثال
مصفوفة محارف مؤلفة بحجم افتراضي؛ ليست فك ترميز أو استدعاء C. لا نعمم النتيجة على مخزن بحجم صريح أو مؤشر مجهول. [1] [2]
المراجع
- Python: ctypes
- CPython3.12.14: ctypes constructor
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
