fopen
من cppreference.com
<tbody>
</tbody> <tbody class="t-dcl-rev ">
</tbody><tbody> </tbody>| معرفة في ملف <stdio.h>
|
||
FILE *fopen( const char *filename, const char *mode ); |
(حتى C99) | |
FILE *fopen( const char *restrict filename, const char *restrict mode ); |
(منذ C99) | |
تفتح الملف المقصود بـ filename وتُرجع FILE* خاص بهذا الملف. يتم التحكم في نوعية استخدام الملف عن طريق mode.
المعطيات
| filename | - | اسم الملف المراد فتحه | |||||||||||||||||||||||||||||||||||||||||||||
| mode | - | سلسلة حروف للدلالة على نوعية الإستخدام
| |||||||||||||||||||||||||||||||||||||||||||||
القيمة المُرجعة
في حالة النجاح، ترجع مؤشر على كائن يتحكم في تيار بيانات للملف المفتوح. في حالة أن filename اسم جهاز تفاعلي يكون التيار unbuffered. فيما عدا ذلك يكون buffered.
في حالة الخطأ، ترجع قيمة مكافئة لـ NULL. POSIX يتطلب أن يتم وضع قيمة تدل على الخطأ في errno.
ملحوظات
النسق المطلوب لـ filename تحدده بيئة التشغيل ولا يشترط أن تعبر عن ملف. مثلا يمكن أن تشير إلى كونسل أو أي جهاز آخر متاح عن طريق واجهة الملفات. على الأنظمة الداعمة لذلك filename يمكن أن تكون عنوان ملف مطلق أو نسبي.
مثال
فتح ملف لكتابة بعض البيانات مع التأكد من عدم حدوث خطأ.
قم بتشغيل هذا الكود:
#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);
return EXIT_FAILURE;
}
/* Normal processing continues here. */
fclose(fp);
return EXIT_SUCCESS;
}
أنظر أيضا
| تغلق ملف (دالة) | |
| توفق (sync) بين تيار البيانات والملف الحقيقي (دالة) | |
| تفتح ملف داخل تيار بيانات موجود مسبقا (دالة) | |
مقالة مرجع C++ عن fopen
| |