English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية بلغة C

تحكم في العملية في C

الوظائف في لغة C

المجمعات في لغة C

المراجع في لغة C

النصوص في لغة C

مباني C

ملفات C

C أخرى

دليل مرجع لغة C

استخدام وظيفة fopen() في مكتبة C ومثال

مكتبة القياسية C - <stdio.h>

وظيفة مكتبة C FILE *fopen(const char *filename, const char *mode) باستخدام النمط المحدد mode فتح filename الملف الذي يشير إليه.

البيان

هذا هو بيان تعريف وظيفة fopen().

FILE *fopen(const char *filename, const char *mode)

المتغيرات

  • filename -- هذا هو سلسلة C، يحتوي على اسم الملف الذي سيتم فتحه.
  • mode -- هذا هو سلسلة C، يحتوي على نمط الوصول إلى الملف، النمط كالتالي:
النمطالوصف
"r" فتح ملف للاستخدام في القراءة. يجب أن يكون الملف موجودًا.
"w" إنشاء ملف فارغ للاستخدام في الكتابة. إذا كان الاسم مشابهًا لملف موجود، يتم حذف محتويات الملف الموجود، ويتم اعتبار الملف جديدًا فارغًا.
"a" إضافة إلى ملف. تشمل عمليات الكتابة إضافة بيانات إلى نهاية الملف. إذا لم يكن الملف موجودًا، يتم إنشاؤه.
"r+" فتح ملف للاستخدام في التحديث، يمكن قراءته وكتابته. يجب أن يكون الملف موجودًا.
"w+" إنشاء ملف فارغ للاستخدام في القراءة والكتابة.
"a+" فتح ملف للاستخدام في القراءة والإضافة.

القيمة العائدة

تعود الوظيفة إلى نقطة إشارة FILE. إذا لم تتمكن من فتح الملف، تعود إلى NULL وتضبط المتغير العالمي errno لتحديد الخطأ.

مثال عبر الإنترنت

هذا المثال يوضح استخدام وظيفة fopen().

#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);
{}

مكتبة القياسية C - <stdio.h>