English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
وظيفة مكتبة C int fprintf(FILE *stream, const char *format, ...) إرسال输出来 إلى تدفق النص stream.
هذا هو بيان تعريف وظيفة fprintf().
int fprintf(FILE *stream, const char *format, ...)
specifier (الوصف) | إخراج |
---|---|
c | حرف |
d أو i | عدد عشري سالب |
e | استخدام إشارة e للعديد العلمي (الرقم والعلامة) |
E | استخدام إشارة E للعديد العلمي (الرقم والعلامة) |
f | عدد عشري |
g | اختيار التمثيل المناسب بين %e أو %f. |
G | اختيار التمثيل المناسب بين %E أو %f. |
o | عشري سالب |
s | خط النص للحرف |
u | عدد عشري غير سالب |
x | عدد عشري غير سالب |
X | عدد عشري غير سالب (بالأحرف الكبيرة) |
p | عنوان الإشارة |
n | لا يتم إخراج أي شيء |
% | حرف |
flags (العلامات) | الوصف |
---|---|
- | تنسيق على يسار عرض الحقل المحدد، بالافتراض هو التنسيق على اليمين (انظر الشرح الفرعي لـ width). |
+ | إجبار عرض إشارة إضافية أو ناقصية (+ أو -) قبل النتيجة، أي سيتم عرض إشارة + أمام الأرقام الإيجابية. بالافتراض، سيتم عرض إشارة - أمام الأرقام السلبية فقط. |
(مسافة) | إذا لم يتم كتابة أي رمز، فسيتم إدراج مسافة أمام القيمة. |
# | عند استخدام o، x أو X، سيتم عرض 0، 0x أو 0X أمام القيم غير الصفرية. عند استخدام e، E، f، سيتم إجبار إخراج نقطة عشرية، حتى لو لم يكن هناك أي أرقام بعد ذلك. بالافتراض، إذا لم يكن هناك أي أرقام بعد ذلك، لن يتم عرض النقطة العشرية. عند استخدام g أو G، سيكون الناتج نفسه كما عند استخدام e أو E، ولكن لن يتم إزالة الأصفار في نهاية. |
0 | ضع صفر (0) على يسار الرقم المحدد للملء padding، وليس الأبيضاء (انظر الشرح الفرعي لـ width). |
عرض (العرض) | الوصف |
---|---|
(رقم) | عدد الأحرف الأدنى التي سيتم إخراجها. إذا كان القيمة المخرجة أقصر من هذا الرقم، سيتم تعبئة النتيجة بالأبيضاء. إذا كانت القيمة المخرجة أطول من هذا الرقم، لن يتم قطع النتيجة. |
* | العرض غير محدد في سلسلة format، ولكن سيتم وضع قيمة الكائن الصحيح كمعامل إضافي قبل المعاملات التي سيتم تثبيتها بشكل صحيح. |
.precision (وضوح) | الوصف |
---|---|
.number | لوصفات الأعداد الصحيحة (d، i، o، u، x، X): يحدد الوضوح عدد الأرقام التي سيتم كتابتها من القيمة. إذا كان القيمة أقصر من هذا العدد، يتم تعبئة النتيجة بمقدار كافٍ من الأصفار. إذا كان القيمة أطول من هذا العدد، لن يتم قطع النتيجة. إذا كان الوضوح 0، لا يتم كتابة أي حرف. لوصفات e و E و f: عدد الأرقام العشرية التي سيتم إخراجها بعد نقطة العشرية. لوصفات g و G: عدد الأرقام الفعالة التي سيتم إخراجها. لنوع s: عدد الأحرف التي سيتم إخراجها. بشكل افتراضي، سيتم إخراج جميع الأحرف حتى يتم الوصول إلى حرف النهاية المخصص. لنوع c: لا يؤثر. عند عدم تحديد أي وضوح، يتم افتراض القيمة الافتراضية 1. إذا لم يتم تحديدها مع قيمة صريحة، يتم افتراض القيمة 0. |
.* | الوضوح لم يتم تحديده في format، ولكن سيتم وضع قيمة إضافية كعدد صحيح قبل المعلمة التي سيتم تنسيقها. |
الطول (الطول) | الوصف |
---|---|
h | تُفسر المعلمة على أنها نوع short أو unsigned short (يُستخدم فقط في وصفات الأعداد الصحيحة: i، d، o، u، x و X). |
l | تُفسر المعلمة على أنها نوع long أو unsigned long، ويُستخدم في وصفات الأعداد الصحيحة (i، d، o، u، x و X) ووصفة c (تمثل حرفًا عريضًا) ووصفة s (تمثل سلسلة من الأحرف العريضة). |
L | تُفسر المعلمة على أنها نوع long double (يُستخدم فقط في وصفات الأعداد العشرية: e، E، f، g و G). |
إذا كان النتائج ناجحًا، فإنه يعود عدد الحروف المكتوبة، وإلا يعود عدد سالب.
هذا المثال يوضح استخدام fprintf().
#include <stdio.h> #include <stdlib.h> int main() { FILE * fp; fp = fopen ("file.txt", "w+"); fprintf(fp, "%s %s %s %d", "We", "are", "in", 2014); fclose(fp); return(0); {}
دعونا نكتب و ننفيذ البرنامج المذكور أعلاه، سيؤدي ذلك إلى إنشاء ملف file.txt، و محتوياته كالتالي:
نحن في عام 2014
الآن دعونا نستخدم البرنامج التالي لعرض محتويات الملف المذكور أعلاه:
#include <stdio.h> int main () { FILE *fp; int c; fp = fopen("file.txt","r"); while(1) { c = fgetc(fp); if( feof(fp) ) { break ; {} printf("%c", c); {} fclose(fp); return(0); {}