k9core

Unnamed repository
Log | Files | Refs | LICENSE

commit 9d6db6fc47dc6fad850e57f9808aa652462408a2
parent 971e32a781ab7af4b1ae9bf112325ff4bff02801
Author: qorg11 <qorg@vxempire.xyz>
Date:   Tue, 16 Jun 2020 21:28:56 +0200

Improved wc

Diffstat:
Msrc/wc.c | 27+++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/wc.c b/src/wc.c @@ -1,12 +1,12 @@ #include <stdio.h> -int -main(void) +void +wc(FILE *file) { char c; - int newlines = 0, spaces = 0, bytes = 0; - - while((c = getchar()) != EOF) + int newlines, spaces, bytes = 0; + newlines = spaces = bytes = 0; + while((c = fgetc(file)) > 0) { bytes++; if(c == '\n') @@ -14,7 +14,22 @@ main(void) if(c == ' ') spaces++; } - printf("%i %i %i\n",newlines,spaces,bytes); + fclose(file); +} + +int +main(int argc, char *argv[]) +{ + if (argc == 1) + wc(stdin); + else + { + for(int i = 1; i<argc;i++) + { + wc(fopen(argv[i],"r")); + } + + } return 0; }