[ Back to the overview Matrix ]

Test case : Type "file" using ANSI/ISO C

Lines used: 22

#include <stdio.h>
#include <stdlib.h>

void process(FILE *fp);

int main(int argc, char **argv)
{
    if (argc > 1) {
        FILE *fp = fopen(argv[1], "r");
        if (fp == NULL)
          return EXIT_FAILURE;
        process(fp);
    }
    else {
        process(stdin);
    }
    return 0;
}

void process(FILE *fp)
{
    int k;
    while ((k = getc(fp)) != EOF)
      putchar(k);
}
Contributed by Arthur J. O`Dwyer at andrew.cmu.edu