#include <stdio.h>
|
|
void
clearerr (FILE *stream); |
|
int
feof (FILE *stream); |
|
int
ferror (FILE *stream); |
|
int
fileno (FILE *stream); |
The function feof tests the end-of-file indicator for the stream pointed to by stream, returning non-zero if it is set. The end-of-file indicator can only be cleared by the function clearerr.
The function ferror tests the error indicator for the stream pointed to by stream, returning non-zero if it is set. The error indicator can only be reset by the clearerr function.
The function fileno examines the argument stream and returns its integer descriptor.
/****************** this program shows finding error set using ferror **************/
/****************** and clearing it using clearerr functions ***********************/
#include <stdio.h>
int main()
{
char a;
FILE* fp = fopen("c:\nput.txt", "w");
fprintf(fp, "%s", "abcdefghijklmn");
fprintf(fp, "%c", '\n');
fprintf(fp, "%s", "fdsfdsafsdabcdefghijklmn");
fclose(fp);
fp=fopen("c:\nput.txt","r");
if (fp == NULL)
{
printf("fopen failed\n");
return -1;
}
else
{
fwrite(&a, sizeof(char), 1, fp);
if (ferror (fp))
printf("error set in file stream\n");
else
{
fclose(fp);
return -1;
}
clearerr(fp);
if (!ferror(fp))
printf("error cleared in file stream\n");
else printf("error still unexpected set in file stream\n");
fclose (fp);
}
return 0;
}
Output
error set in file stream
error cleared in file stream
|
© 2005-2007 Nokia |