Revision as of 08:00, 22 October 2011 editBearcat (talk | contribs)Autopatrolled, Administrators1,570,388 edits →External links: categorization/tagging using AWB← Previous edit | Revision as of 18:19, 22 October 2011 edit undoGene93k (talk | contribs)Autopatrolled, Extended confirmed users, New page reviewers, Pending changes reviewers468,116 editsm +Category:C standard libraryNext edit → | ||
Line 57: | Line 57: | ||
* | * | ||
] | |||
{{Uncategorized|date=October 2011}} |
Revision as of 18:19, 22 October 2011
It has been suggested that this article be merged into C_file_input/output. (Discuss) Proposed since October 2011. |
getc is one of the character input function. getc reads next character from file and it needs file pointer to tell it which file. It is simplest function to read the file.
Like getchar, getc() may be implemented macro instead of function. getc is equivalent to fgetc. getc returns the next character from the stream referred to by fp; it returns EOF for End Of File or error.
Syntax
int getc( FILE * stream);
Here, parameter stream is the pointer to a FILE object which identify the stream on which the operation is to be performed.
Example
/*getc example*/
#include <stdio.h> int main() { FILE *fp; int c; int n = 0; fp = fopen("myfile.txt", "r"); if(fp == NULL) perror ("Error opening file"); else { do { c = getc(fp); if(c == '#') n++; } while(c != EOF); fclose(fp); printf ("File contains %d#.\n",n); } return 0; }
Above program read the file called myfile.txt character by character and uses n variable to count '#' character contained in file.
Return Value
Character read is returned as an int value.
If the End-of-File is reached or error in reading occurs, function returns EOF and corresponding error indicator. We can use either ferror or feof to determine whether an error happened or EOF reached.