int fgetc ( FILE * stream ); |
<cstdio> |
Get character from stream
Returns the character currently pointed by the internal file position indicator of the specified stream. The internal file position indicator is then advanced by one character to point to the next character.
fgetc and getc are equivalent, except that the latter one may be implemented as a macro.
Parameters
- stream
- Pointer to a FILE object that identifies the stream on which the operation is to be performed.
Return Value
The character read is returned as an
int value.
If the End-of-File is reached or a reading error happens, the function returns
EOF and the corresponding error or eof indicator is set. You can use either
ferror or
feof to determine whether an error happened or the End-Of-File was reached.
Example
/* fgetc example: money counter */
#include <stdio.h>
int main ()
{
FILE * pFile;
int c;
int n = 0;
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = fgetc (pFile);
if (c == '$') n++;
} while (c != EOF);
fclose (pFile);
printf ("File contains %d$.\n",n);
}
return 0;
}
|
This program reads an existing file called myfile.txt character by character and uses the n variable to count how many dollar characters ($) does the file contain.
See also
getc | Get character from stream (function) |
fputc | Write character to stream (function) |
fread | Read block of data from stream (function) |
fscanf | Read formatted data from stream (function) |