English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
وظيفة مكتبة C int vprintf(const char *format, va_list arg) إرسال输出来 إلى الخروج القياسي stdout باستخدام قائمة الإعدادات.
هذا هو إعلان vprintf() function.
int vprintf(const char *format, va_list arg)
specifier (الوصف) | العرض |
---|---|
c | حرف |
d أو i | عدد عشري سالب |
e | استخدام النظام العشري العلمي (الرقم والمعامل) باستخدام حرف e |
E | استخدام النظام العشري العلمي (الرقم والمعامل) |
f | عدد عشري عادي |
g | اختيار التمثيل المناسب بين %e أو %f تلقائيًا |
G | اختيار التمثيل المناسب بين %E أو %f تلقائيًا |
o | عشري سالب |
s | نص حرفي |
u | عدد عشري غير سالب |
x | عدد عشري غير سالب |
X | عدد عشري غير سالب (بالأحرف الكبيرة) |
p | عنوان السهم |
n | لا يتم عرض أي شيء |
% | حرف |
flags (العلامات) | الوصف |
---|---|
- | الترتيب الأيسر داخل عرض الحقل المحدد، بشكل افتراضي هو الترتيب الأيمن (ver also the width sub-suffix). |
+ | إجبار على عرض إشارة إضافية أو ناقصية (+ أو -) أمام النتيجة، أي سيتم عرض إشارة (+) أمام الأرقام الإيجابية. بشكل افتراضي، سيتم عرض إشارة (-) فقط أمام الأرقام السلبية. |
(مسافة) | إذا لم يتم كتابة أي رمز، سيتم إدراج مسافة أمام القيمة. |
# | عند استخدامه مع o، x أو X، سيتم عرض 0، 0x أو 0X أمام القيم غير الصفرية. عند استخدامه مع e، E أو f، سيتم إجبار النتيجة على أن تحتوي على نقطة عشرية، حتى لو لم يكن هناك أي أرقام بعد النقطة العشرية. بشكل افتراضي، لن يتم عرض النقطة العشرية إذا لم يكن هناك أي أرقام بعد النقطة العشرية. عند استخدامه مع g أو G، تكون النتيجة نفسها كما عند استخدامه مع e أو E، ولكن لن يتم إزالة الصفر في نهاية النتيجة. |
0 | ضع صفر (0) على يسار الرقم المحدد للملء (ver also the width sub-suffix). |
عرض (العرض) | الوصف |
---|---|
(رقم) | أقل عدد من الحروف التي يجب عرضها. إذا كان القيمة الم输出的 أقل من هذا الرقم، سيتم تعبئة النتيجة بالمسافات. إذا كان القيمة الم输出的 أطول من هذا الرقم، لن يتم قطع النتيجة. |
* | العرض لم يُحدد في نص التنسيق، ولكن سيتم وضعها كمعطى عدد إضافي قبل المعطى المراد تنسيقه. |
.dقة (الدقة) | الوصف |
---|---|
.number | للأرقام (d،i،o،u،x،X): تحدد الدقة عدد الأرقام التي يجب كتابتها في العدد. إذا كان العدد أقصر من هذا الرقم، سيتم تعبئة النتيجة بمقدار أكبر من صفر. إذا كان العدد أطول من هذا الرقم، لن يتم قطع النتيجة. إذا كانت الدقة 0، فإنها تعني عدم كتابة أي حرف. لنوع e و E و f: عدد الأرقام العشرية التي يجب طباعتها بعد نقطة العدد. لنوع g و G: عدد الأرقام المفعلة التي يجب طباعتها. لنوع s: عدد الأحرف القصوى التي يجب طباعتها. في النسخة الافتراضية، سيتم طباعة جميع الأحرف حتى وصول نهاية السلسلة من الأحرف المفردة. لنوع c: لا يؤثر. عند عدم تحديد أي دقة، فإن القيمة الافتراضية هي 1. إذا لم يُحدد عند تحديدها مع قيمة واضحة، يتم افتراضها كـ 0. |
.* | الدقة لم تُحدد في نص التنسيق، ولكن سيتم وضعها كمعطى عدد إضافي قبل المعطى المراد تنسيقه. |
الطول (الطول) | الوصف |
---|---|
h | يُفسر المعطى كطول قصير أو غير معكوس قصير (يُستخدم فقط في وصف المعطيات الكاملة: i،d،o،u،x و X). |
l | يُفسر المعطى كطول كامل أو طويل غير معكوس، ويُستخدم في وصف المعطيات الكاملة (i،d،o،u،x و X) ووصف الرمز c (مثل حرف واسع) ووصف الرمز s (مثل نص واسع). |
L | يُفسر المعطى كطول دقيق ثنائي (يُستخدم فقط في وصف المعطيات العشوائية: e،E،f،g و G). |
إذا كانت النتيجة ناجحة، فإنها تعود عدد الحروف المكتوبة، وإلا تعود عدد سلبي.
يظهر هذا المثال استخدام وظيفة vprintf().
لنقوم بترميز وتشغيل البرنامج المذكور أعلاه، وسيكون الناتج التالي:
متغير متعدد 2 متغيرات متعددة