1 /* 2 * count.c 3 * 4 * Zaehlt die Zeichen in Dateien. 5 * 6 * Author H.Drachenfels 7 * Erstellt am: 9.11.2023 8 */
9
10 #include <stdio.h> // fopen, fgetc, fclose, ferror, perror
11 #include <stdint.h> // uintmax_t
12
13 int main(int argc, char *argv[])
14 {
15 for (int i = 1; i < argc; ++i)
16 {
17 FILE *fp = fopen(argv[i], "r");
18 if (fp == NULL)
19 {
20 perror(argv[i]);
21 continue;
22 }
23
24 uintmax_t n = 0;
25 while (fgetc(fp) != EOF)
26 {
27 ++n;
28 }
29
30 if (ferror(fp))
31 {
32 perror(argv[i]);
33 fclose(fp);
34 continue;
35 }
36
37 if (fclose(fp) != 0)
38 {
39 perror(argv[i]);
40 continue;
41 }
42
43 printf("%s: %ju Byte\n", argv[i], n);
44 }
45
46 return 0;
47 }
48