- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| stdio(3) | Library Functions Manual | stdio(3) |
الاسم¶
stdio - دوال مكتبة الإدخال/الإخراج القياسية
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <stdio.h>
FILE *stdin; FILE *stdout; FILE *stderr;
الوصف¶
توفر مكتبة الإدخال/الإخراج القياسية واجهة إدخال/إخراج مخزنة بسيطة وفعالة للدفق. يُخطط الإدخال والإخراج في تدفقات بيانات منطقية وتُخفى خصائص الإدخال/الإخراج الفيزيائية. الدوال والوحدات الكلية مذكورة أدناه؛ تتوفر معلومات إضافية من صفحات الدليل الفردية.
يُربط الدفق بملف خارجي (قد يكون جهازًا ماديًا) عن طريق فتح ملف، وقد يتضمن ذلك إنشاء ملف جديد. إنشاء ملف موجود يؤدي إلى تجاهل محتوياته السابقة. إذا كان الملف يدعم طلبات تحديد الموضع (مثل ملف قرص، على عكس الطرفية)، فإن مؤشر موضع الملف المرتبط بالدفق يُوضع في بداية الملف (البايت صفر)، ما لم يُفتح الملف بوضع الإلحاق. إذا استُخدم وضع الإلحاق، فلا يُحدد ما إذا كان مؤشر الموضع سيُوضع في بداية الملف أو نهايته. يُحافظ على مؤشر الموضع بواسطة عمليات القراءة والكتابة وطلبات تحديد الموضع اللاحقة. يحدث كل الإدخال كما لو أن المحارف قُرئت باستدعاءات متتالية لدالة fgetc(3)؛ ويحدث كل الإخراج كما لو أن جميع المحارف كُتبت باستدعاءات متتالية لدالة fputc(3).
يُفصل الملف عن الدفق عن طريق إغلاق الملف. تُفرغ تدفقات الإخراج (تُنقل أي محتويات خبيئة غير مكتوبة إلى البيئة المضيفة) قبل فصل الدفق عن الملف. تكون قيمة المؤشر إلى كائن FILE غير محددة بعد إغلاق الملف (بيانات غير صالحة).
يمكن إعادة فتح ملف لاحقًا، بواسطة نفس تنفيذ البرنامج أو تنفيذ آخر، واستعادة محتوياته أو تعديلها (إذا أمكن إعادة وضعه في البداية). إذا عادت الدالة الرئيسية إلى المستدعي الأصلي، أو استُدعيت دالة exit(3)، تُغلق جميع الملفات المفتوحة (وبالتالي تُفرغ جميع تدفقات الإخراج) قبل إنهاء البرنامج. طرق أخرى لإنهاء البرنامج، مثل abort(3)، لا تهتم بإغلاق الملفات بشكل صحيح.
عند بدء البرنامج، تُعرّف ثلاثة تدفقات نصية مسبقًا ولا تحتاج إلى فتح صريح: الإدخال القياسي (لقراءة الإدخال التقليدي)، الإخراج القياسي (لكتابة الإخراج التقليدي)، والخطأ القياسي (لكتابة الإخراج التشخيصي). تُختصر هذه التدفقات إلى stdin وstdout وstderr. عند فتحها، لا يكون دفق الخطأ القياسي مخزنًا بالكامل؛ تكون تدفقات الإدخال والإخراج القياسية مخزنة بالكامل إذا وفقط إذا لم تشير التدفقات إلى جهاز تفاعلي.
تدفقات الإخراج التي تشير إلى أجهزة طرفية تكون دائمًا مخزنة سطريًا مبدئيًا؛ يُكتب الإخراج المعلق لمثل هذه التدفقات آليًا كلما قُرئ دفق إدخال يشير إلى جهاز طرفي. في الحالات التي يُجرى فيها قدر كبير من الحساب بعد طباعة جزء من سطر على طرفية إخراج، من الضروري تفريغ fflush(3) الإخراج القياسي قبل الانطلاق والحساب حتى يظهر الإخراج.
مكتبة stdio هي جزء من المكتبة libc وتُحمّل الروتينات آليًا حسب الحاجة بواسطة cc(1). تشير أقسام الملخص في صفحات الدليل التالية إلى ملفات التضمين التي يجب استخدامها، وكيف يبدو إعلان المترجم للدالة، والمتغيرات الخارجية ذات الأهمية.
التالية مُعرّفة كوحدات كلية؛ لا يُعاد استخدام هذه الأسماء دون إزالة تعريفاتها الحالية أولاً باستخدام #undef: BUFSIZ، EOF، FILENAME_MAX، FOPEN_MAX، L_cuserid، L_ctermid، L_tmpnam، NULL، SEEK_END، SEEK_SET، SEEK_CUR، TMP_MAX، clearerr، feof، ferror، fileno، getc، getchar، putc، putchar، stderr، stdin، stdout. توجد إصدارات دوال للوحدات الكلية feof وferror وclearerr وfileno وgetc وgetchar وputc وputchar وتُستخدم إذا أُزيلت تعريفات الوحدات الكلية صراحةً.
قائمة الدوال¶
| الدالة | الوصف |
| clearerr(3) | فحص وإعادة تعيين حالة الدفق |
| fclose(3) | إغلاق دفق |
| fdopen(3) | دوال فتح الدفق |
| feof(3) | فحص وإعادة تعيين حالة الدفق |
| ferror(3) | فحص وإعادة تعيين حالة الدفق |
| fflush(3) | إفراغ دفق |
| fgetc(3) | الحصول على الحرف أو الكلمة التالية من دفق الإدخال |
| fgetpos(3) | إعادة تموضع دفق |
| fgets(3) | الحصول على سطر من دفق |
| fileno(3) | إرجاع واصف العدد الصحيح لدفق الوسيط |
| fmemopen(3) | فتح الذاكرة كدفق |
| fopen(3) | دوال فتح الدفق |
| fopencookie(3) | فتح دفق مخصص |
| fprintf(3) | تحويل مخرجات منسقة |
| fpurge(3) | إفراغ دفق |
| fputc(3) | إخراج حرف أو كلمة إلى دفق |
| fputs(3) | إخراج سطر إلى دفق |
| fread(3) | إدخال/إخراج التدفق الثنائي |
| freopen(3) | دوال فتح الدفق |
| fscanf(3) | تحويل تنسيق الإدخال |
| fseek(3) | إعادة تموضع دفق |
| fsetpos(3) | إعادة تموضع دفق |
| ftell(3) | إعادة تموضع دفق |
| fwrite(3) | إدخال/إخراج التدفق الثنائي |
| getc(3) | الحصول على الحرف أو الكلمة التالية من دفق الإدخال |
| getchar(3) | الحصول على الحرف أو الكلمة التالية من دفق الإدخال |
| gets(3) | الحصول على سطر من دفق |
| getw(3) | الحصول على الحرف أو الكلمة التالية من دفق الإدخال |
| mktemp(3) | إنشاء اسم ملف مؤقت (فريد) |
| open_memstream(3) | فتح تدفق مخزن ذاكرة ديناميكي |
| open_wmemstream(3) | فتح تدفق مخزن ذاكرة ديناميكي |
| perror(3) | رسائل أخطاء النظام |
| printf(3) | تحويل مخرجات منسقة |
| putc(3) | إخراج حرف أو كلمة إلى دفق |
| putchar(3) | إخراج حرف أو كلمة إلى دفق |
| puts(3) | إخراج سطر إلى دفق |
| putw(3) | إخراج حرف أو كلمة إلى دفق |
| remove(3) | إزالة مدخل الدليل |
| rewind(3) | إعادة تموضع دفق |
| scanf(3) | تحويل تنسيق الإدخال |
| setbuf(3) | عمليات التخزين المؤقت للدفق |
| setbuffer(3) | عمليات التخزين المؤقت للدفق |
| setlinebuf(3) | عمليات التخزين المؤقت للدفق |
| setvbuf(3) | عمليات التخزين المؤقت للدفق |
| sprintf(3) | تحويل مخرجات منسقة |
| sscanf(3) | تحويل تنسيق الإدخال |
| strerror(3) | رسائل أخطاء النظام |
| sys_errlist(3) | رسائل أخطاء النظام |
| sys_nerr(3) | رسائل أخطاء النظام |
| tempnam(3) | إجراءات الملفات المؤقتة |
| tmpfile(3) | إجراءات الملفات المؤقتة |
| tmpnam(3) | إجراءات الملفات المؤقتة |
| ungetc(3) | إعادة حرف إلى دفق الإدخال |
| vfprintf(3) | تحويل مخرجات منسقة |
| vfscanf(3) | تحويل تنسيق الإدخال |
| vprintf(3) | تحويل مخرجات منسقة |
| vscanf(3) | تحويل تنسيق الإدخال |
| vsprintf(3) | تحويل مخرجات منسقة |
| vsscanf(3) | تحويل تنسيق الإدخال |
المعايير¶
C11, POSIX.1-2008.
التاريخ¶
C89, POSIX.1-2001.
انظر أيضًا¶
close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 2 مايو 2024 | صفحات دليل لينكس 6.9.1 |