سؤال

KdPrint((
         "Unknown IoControlCode %#x\n",
                io_stack->Parameters.DeviceIoControl.IoControlCode
        ));

هذا غريب. ماذا يعني Sharp؟

هل كانت مفيدة؟

المحلول

تقول وثائق printf:

يتبع الحرف ٪ صفر أو أكثر من الأعلام التالية:

# يجب تحويل القيمة إلى "نموذج بديل". بالنسبة لتحويلات o ، يتم صنع الحرف الأول لسلسلة الإخراج صفر (عن طريق بادئة 0 إذا لم يكن صفر بالفعل). بالنسبة لتحويلات X و X ، تحتوي نتيجة غير صفرية على السلسلة "0x" (أو "0x" لتحويلات X) تم إعدادها إليها. بالنسبة لتحويلات A و A و A و E و F و F و G و G ، فإن النتيجة ستحتوي دائمًا يتبع الرقم). بالنسبة لتحويلات G و G ، لا تتم إزالة الأصفار الزائدة من النتيجة كما لو كانت خلاف ذلك. للتحويلات الأخرى ، والنتيجة غير محددة.

مستندات MSDN على الأعلام هنا.

وذلك ل %#x القيمة تسبق ببساطة مع 0x. أين %x سوف تنتج 34ab, %#x سوف تنتج 0x34ab.

نصائح أخرى

# Intercates تنسيق بديل. إلى عن على x هذا يعني ذاك 0x تم إعداده مسبقًا إلى الإخراج.

printf عند استخدامها مع المحدد x, # يؤدي إلى أن يكون الناتج بادئة مع 0x شريطة أن تكون القيمة المطبوعة غير ذلك 0.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top