
#include <stdio.h>
#include <string.h>

#define MAXLINE 1024

int main(int argc, char **argv) 
{
  FILE *I;
  char buf[MAXLINE];
  unsigned lineno = 0;

  if (argc != 2) {
    fprintf(stderr, "Usage: %s filename\n", argv[0]);
    return 1;
  }

  if ((I = fopen(argv[1], "r")) == NULL) {
    fprintf(stderr, "Couldn't open file %s.\n", argv[1]);
  }

  while (fgets(buf, MAXLINE, I)) {
    char *newline;
    if (newline = strrchr(buf, '\n')) {
      *newline = '\0';          /* trim off trailing newline */
    } else {
      printf("Warning: Next line longer than %u characters; split.\n",
            MAXLINE);
    }
    printf("Read line %3u: %s\n", ++lineno, buf);
  }
  
  fclose(I);
  return 0;
}
