fclose
من cppreference.com
<tbody>
</tbody>
| معرفة في ملف <stdio.h>
|
||
int fclose( FILE *stream ); |
||
تغلق تيار بيانات خاص بملف. أي بيانات في الـ Buffer لم تتم كتابتها يتم تفريغها وإمرارها لنظام التشغيل. أي بيانات لم تتم قرائتها تفقد.
بغض النظر عن نجاح close من عدمه, يتم إزالة الرابط بين الكائن المشار إليه بـ stream والملف. كذلك أي Buffers مسجلة بـ setbuf أو setvbuf يتم فك ارتباطها (واخلائها في حالة الحجز الأوتماتيكي).
المعطيات
| stream | - | تيار الملف المراد إغلاقه |
القيمة المُرجعة
0 في حالة النجاح, EOF فيما عدا ذلك.
مثال
إغلاق ملف بعد الكتابة مع التأكد من عدم حدوث أخطاء.
قم بتشغيل هذا الكود:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp = fopen("data.txt","w");
if (fp == NULL)
{
perror("fopen()");
fprintf(stderr,"fopen() failed in file %s at line # %d\n", __FILE__,__LINE__-4);
exit(EXIT_FAILURE);
}
/* Normal processing continues here. */
int ret_code = fclose(fp);
if (ret_code == EOF)
{
perror("fclose()");
fprintf(stderr,"fclose() failed in file %s at line # %d\n", __FILE__,__LINE__-4);
exit(EXIT_FAILURE);
}
return EXIT_SUCCESS;
}
الخرج:
(لا شىء)
أنظر أيضا
| تفتح ملف (دالة) | |
| تفتح ملف داخل تيار بيانات موجود مسبقا (دالة) | |
مقالة مرجع C++ عن fclose
| |