Scroll to navigation

fgetc(3) Library Functions Manual fgetc(3)

الاسم

fgetc, fgets, getchar, ungetc - إدخال المحارف والسلاسل

المكتبة

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

موجز

#include <stdio.h>
int fgetc(FILE *stream);
int getchar(void);
char *fgets(int size;
            char s[restrict size], int size, FILE *restrict stream);
int ungetc(int c, FILE *stream);

الوصف

تقرأ fgetc() المحرف التالي من stream وتُرجعه كـ unsigned char مُحوَّل إلى int، أو EOF عند نهاية الملف أو الخطأ.

getchar() مكافئة لـ fgetc(stdin).

تقرأ fgets() على الأكثر محرفًا واحدًا أقل من size من stream وتخزّنهم في المخزن المؤقت المُشار إليه بـ s. يتوقف القراءة بعد EOF أو سطر جديد. إذا قُرئ سطر جديد، يُخزَّن في المخزن المؤقت. يُخزَّن بايت فارغ ختامي ('\0') بعد آخر محرف في المخزن المؤقت.

تدفع ungetc() c مرة أخرى إلى stream، مُحوَّلًا إلى unsigned char، حيث يكون متاحًا لعمليات القراءة اللاحقة. ستُعاد المحارف المدفوعة مرة أخرى بترتيب عكسي؛ يُضمن إرجاع واحد فقط.

يمكن مزج استدعاءات الدوال الموصوفة هنا مع بعضها البعض ومع استدعاءات دوال إدخال أخرى من مكتبة stdio لنفس دفق الإدخال.

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

قيمة الإرجاع

تُرجع fgetc() و getchar() المحرف المقروء كـ unsigned char مُحوَّل إلى int أو EOF عند نهاية الملف أو الخطأ.

تُرجع fgets() s عند النجاح، وNULL عند الخطأ أو عند حدوث نهاية الملف بينما لم تُقرأ أي محارف.

تُرجع ungetc() c عند النجاح، أو EOF عند الخطأ.

السمات

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

الواجهة السمة القيمة
fgetc()، fgets()، getchar()، ungetc() سلامة الخيوط MT-Safe

المعايير

C11, POSIX.1-2008.

التاريخ

POSIX.1-2001، C89.

ملاحظات

لا يُنصح بمزج استدعاءات دوال الإدخال من مكتبة stdio مع استدعاءات منخفضة المستوى لـ read(2) لواصف الملف المرتبط بدفق الإدخال؛ ستكون النتائج غير محددة وعلى الأرجح ليست ما تريده.

انظر أيضًا

read(2)، write(2)، ferror(3)، fgetwc(3)، fgetws(3)، fopen(3)، fread(3)، fseek(3)، getline(3)، gets(3)، getwchar(3)، puts(3)، scanf(3)، ungetwc(3)، unlocked_stdio(3)، feature_test_macros(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس 6.18