fflush(3)

الاسم
fflush - تفريغ دفق

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <stdio.h>

int fflush(FILE *_Nullable stream);

الوصف
بالنسبة لدفقات الإخراج، يُجبر fflush() كتابة جميع البيانات المخزنة مؤقتًا في مساحة المستخدم للدفق المحدد للإخراج أو التحديث stream عبر دالة الكتابة الأساسية للدفق.

بالنسبة لدفقات الإدخال المرتبطة بملفات قابلة للبحث (مثل ملفات القرص، وليس الأنابيب أو المحطات الطرفية)، يتجاهل fflush() أي بيانات مخزنة مؤقتًا تم جلبها من الملف الأساسي، ولكن لم يستهلكها التطبيق.

حالة فتح الدفق غير متأثرة.

إذا كانت وسيطة stream فارغة (NULL)، يُفرغ fflush() جميع دفقات الإخراج المفتوحة.

للحصول على نظير غير مقفل، انظر unlocked_stdio(3).

قيمة الإرجاع
عند الإكمال الناجح، يُعاد 0. وإلا، يُعاد EOF ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EBADF
    stream ليس دفقًا مفتوحًا، أو غير مفتوح للكتابة.

قد تفشل الدالة fflush() أيضًا وتضبط errno لأي من الأخطاء المحددة لـ write(2).

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
fflush() | سلامة الخيوط | MT-Safe

المعايير
C11, POSIX.1-2008.

التاريخ
C89، POSIX.1-2001، POSIX.1-2008.

لم يحدد POSIX.1-2001 السلوك لتفريغ دفقات الإدخال، ولكن السلوك محدد في POSIX.1-2008.

ملاحظات
لاحظ أن fflush() يُفرغ فقط المخازن المؤقتة في مساحة المستخدم المقدمة من مكتبة C. لضمان تخزين البيانات فعليًا على القرص، يجب تفريغ مخازن النواة أيضًا، على سبيل المثال، باستخدام sync(2) أو fsync(2).

انظر أيضًا
fsync(2)، sync(2)، write(2)، fclose(3)، fileno(3)، fopen(3)، fpurge(3)، setbuf(3)، unlocked_stdio(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.