ungetc
من cppreference.com
<tbody>
</tbody>
| معرفة في ملف <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
| |