#include <stdio.h> int getchar(void);
getchar
reads a character from the stream stdin
.
getchar
returns the next input character or EOF
if no character
can be read.
getchar
is a macro that expands into getc(stdin)
.
#include <ctype.h> #include <stdio.h> #include <stdlib.h> main() { char filename[60]; int words = 0, lines = 0, bytes = 0; int spacing = 1; int ch; puts("Enter the input file name:"); memcpy(filename, "tso:", 4); gets(filename+4); if (freopen(filename, "r", stdin) == 0){ puts("File could not be opened."); exit(EXIT_FAILURE); } /* Read the file and count bytes, lines, and words. */ for(;;){ ch = getchar(); if (ch == EOF) break; ++bytes; if (ch == 'n') ++lines; /* If the input character is a nonspace character */ /* after a space character, start a new word. */ if (isspace(ch)) spacing = 1; else if(spacing){ spacing = 0; ++words; } } printf("The input file contains %d bytesn", bytes); printf("%d lines and %d words.n", lines, words); exit(EXIT_SUCCESS); }
getc
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.