Home »
C programming language
Value of EOF in c programming language
What is EOF in C?
EOF indicates the END of File. It is a predefined MACRO with the value of -1 which means EOF is not a character. The EOF is returned through the function which is going to be read the content from the file.
C program to print the value of EOF
Consider the below program which is printing the value of EOF.
#include <stdio.h>
int main()
{
printf("Value of \"EOF\" is = %d\n", EOF);
return 0;
}
Output
Value of "EOF" is = -1
Use EOF to run through a text file in C
Consider the below program which is reading the characters from a text file till EOF (end of file).
There is a file "text1.txt" containing "Hello World"
#include <stdio.h>
int main()
{
FILE* fp;
int ch;
fp = fopen("text1.txt", "r");
if (fp == NULL) {
printf("Error in file opening...\n");
return -1;
}
printf("Content of the file:\n");
/*here we are using infinite loop to print value of
EOF, loop will be terminate as we got EOF*/
while (1) {
ch = getc(fp); //read one character
printf("%c [%d],", ch, ch);
if (ch == EOF) {
break; //terminate loop
}
}
//close the file
fclose(fp);
return 0;
}
Output
H [72],e [101],l [108],l [108],o [111], [32],W [87],o [111],r [114],l [108],d [100],
[10],� [-1],
Reference: Definition of EOF