author | Markus Bröker <mbroeker@largo.dyndns.tv> |
Thu, 14 May 2009 17:31:45 +0200 | |
changeset 92 | 0bc2646daa82 |
parent 85 | 9568a180fc43 |
permissions | -rw-r--r-- |
/** * numerierung.c * Copyright (C) 2008 Markus Broeker */ #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <getopt.h> void usage (char *cmd) { printf ("Usage: %s [-h|-p] [<file>]\n", cmd); exit (0); } int main (int argc, char **argv) { char buffer[240]; int counter = 0; FILE *f; int c, pure = 0; struct option options[] = { {"help", 0, 0, 'h'}, {"pure", 0, 0, 'p'}, }; while ((c = getopt_long_only (argc, argv, "hp", options, NULL)) != -1) { switch (c) { case 'h': usage (argv[0]); break; case 'p': pure = 1; break; default: printf ("Unknown Parameter: %s\n", argv[optind]); } } if (optind == argc) f = stdin; else f = fopen (argv[optind], "r"); if (!f) { perror ("Error opening file"); return EXIT_FAILURE; } *buffer = 0; while (fgets (buffer, sizeof (buffer), f) != NULL) { if (!pure) printf ("%4.4d: %s", counter++, buffer); else printf ("%s", buffer); *buffer = 0; } fclose (f); return EXIT_SUCCESS; }