/*
 * count.c
 *
 * Zaehlt die Zeichen in Dateien.
 *
 * Author H.Drachenfels
 * Erstellt am: 5.12.2024
 */

#include <stdio.h>    // fopen, fgetc, fclose, ferror, perror
#include <stddef.h>   // size_t

int main(int argc, char *argv[])
{
    for (int i = 1; i < argc; ++i)
    {
        FILE *fp = fopen(argv[i], "r");
        if (fp == NULL)
        {
            perror(argv[i]);
            continue;
        }

        size_t n = 0;
        while (fgetc(fp) != EOF)
        {
            ++n;
        }

        if (ferror(fp))
        {
            perror(argv[i]);
            fclose(fp);
            continue;
        }

        if (fclose(fp) != 0)
        {
            perror(argv[i]);
            continue;
        }

        printf("%s: %zu Byte\n", argv[i], n);
    }

    return 0;
}

