المتغيرات
فضاءات التسمية
أفعال

ungetc

من cppreference.com
< c‏ | io
معرفة في ملف <stdio.h>
int ungetc( int ch, FILE *stream );

تقوم بإعادة حرف إلى ‎ch‎ إلى تيار الملف.

محتويات

[تعديل] المعطيات

ch - الحرف الذي سيتم إرجاعه
stream - تيار الملف المراد ارجاع الحرف إليه

[تعديل] القيمة المُرجعة

‎ch‎ في حالة النجاح. EOF‎ في حالة الخطأ ولا يتم تغيير وضع التيار.

[تعديل] مثال

ungetc with error checking

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE* fp = fopen("test.txt", "w");
    fputs("abc\n", fp);
    fclose(fp);
    fp = fopen("test.txt", "r");
 
    /* Read  "abc".  */
    /* Write "abbc". */
    char ch;
    int ret_code;
    ch=fgetc(fp);   /* read 'a' */
    putchar(ch);
    ch=fgetc(fp);   /* read 'b' */
    putchar(ch);
 
    ret_code = ungetc(ch,fp);   /* push 'b' back to input file */
    /* Test whether EOF was reached. */
    if (ret_code == EOF)
       if (ferror(fp)) 
       {
          perror("ungetc()");
          fprintf(stderr,"ungetc() failed in file %s at line # %d\n", __FILE__,__LINE__-6);
          exit(EXIT_FAILURE);
       }
 
    ch=fgetc(fp);   /* reread 'b' */
    putchar(ch);
    ch=fgetc(fp);   /* read 'c'   */
    putchar(ch);
 
    return EXIT_SUCCESS;
}

الخرج:

abbc

[تعديل] أنظر أيضا

تأخذ حرف من تيار ملف
(دالة) [edit]