home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 10_11 / tricks / list.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-06-23  |  1.6 KB  |  62 lines

  1. /* ------------------------------------------------------ */
  2. /*                      list.c                            */
  3. /*           druckt Datei im DIN A5 format                */
  4. /* (c) 1988 by Bernd Eichinger - Wieschmann und TOOLBOX   */
  5. /* ------------------------------------------------------ */
  6.  
  7. #include <stdio.h>
  8. #include <string.h>
  9.  
  10. void list( char *s, int  n );
  11.  
  12. main(int argc, char *argv[])
  13. {
  14.   switch(argc)
  15.   {
  16.    case 2 : list(strupr(argv[1]), 56);
  17.             break;
  18.    case 3 : list( strupr(argv[1]), atoi( argv[2] ) + 1 );
  19.             break;
  20.    default: fprintf(stdout,
  21.                     "usage: list file.ext <lines>\n");
  22.             fprintf(stdout,
  23.                     " prints file condensd with 1/8\n");
  24.             break;
  25.   }
  26. } /* main */
  27.  
  28. void list(char *s, int n)
  29. {
  30.   FILE *fp;
  31.   int  page = 0;
  32.   int  row  = 0;
  33.   char line[256];
  34.  
  35.   if((fp = fopen(s,"r")) != NULL)
  36.   {
  37.    while(feof(fp) == 0)
  38.    {
  39.     page++;
  40.                   /* Drucker wird auf 96 Zeilen/Seite und */
  41.                   /* Schmalschrift gesetzt                */
  42.     fprintf(stdprn,
  43.             "%c%c0\t\tFile: %-40s      Page: %5d\n\n",
  44.             15,27,s,page);
  45.     row = 0;
  46.     while(row < n)
  47.     {
  48.      if(fgets(line, 256, fp) != NULL)
  49.      {
  50.       fprintf(stdprn, "\t\t%s", line);
  51.       row++;
  52.      }
  53.      else row = n;
  54.     } /* while row ... */
  55.     fprintf(stdprn, "%c", 12);               /* form feed */
  56.    } /* while feof ... */
  57.   }
  58.   else fprintf(stderr, "error: can't open file !%c\n", 7);
  59. }
  60. /* ------------------------------------------------------ */
  61. /*                   Ende von LIST.C                      */
  62.