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

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

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

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

المساحات في لغة C

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

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

مباني لغة C

ملفات لغة C

C أخرى

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

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

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

وظائف مكتبة C int ungetc(int char, FILE *stream) ضع الحرف حرفإلى تدفق معين stream ، لذا سيكون هو الحرف التالي الذي سيتم قراءته.

الإعلان

إليك إعلان وظيفة ungetc().

int ungetc(int char, FILE *stream)

المواضيع

  • حرف -- هذا هو الحرف الذي سيتم دفعه. يتم نقل الحرف باستخدام قيمته الكاملة.
  • stream -- هذا هو إشارة إلى FILE object، الذي يعرف تدفق الإدخال.

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

إذا تم النجاح، فإنها تعود إلى الحرف الذي تم دفعه، وإلا تعود إلى EOF، ويبقى التدفق stream كما هو.

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

في المثال التالي، يتم عرض استخدام وظيفة ungetc().

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

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   char buffer [256];

   fp = fopen("file.txt", "r");
   if( fp == NULL )
   {
      perror("خطأ في فتح الملف");
      return(-1);
   }
   while(!feof(fp))
   {
      c = getc (fp);
      /* تحويل ! إلى + */
      if( c == '!' )
      {
         ungetc ('+', fp);
      }
      else
      {
         ungetc(c, fp);
      }
      fgets(buffer, 255, fp);
      fputs(buffer, stdout);
   }
   return(0);
}

افترض أن لدينا ملف نصي file.txt،محتواها كالتالي. سيعمل الملف كدخل في الأمثلة التالية:

هذا هو w3codebox
!c standard library
!library functions and macros

لنقوم بترميز وتشغيل البرنامج المذكور أعلاه، مما سيؤدي إلى نتائج التالي:

هذا هو w3codebox
+المكتبة القياسية
+وظائف المكتبة و الماكروات

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