ungetc
من cppreference.com
معرفة في ملف <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
[تعديل] أنظر أيضا
تأخذ حرف من تيار ملف (دالة) | |
مقالة مرجع C++ عن ungetc
|