Datei: lcopy.c


    1   /*
    2    *      lcopy.c
    3    *      Zeilenweise bis EOF lesen und ausgeben
    4    *      klin, Thu Nov 18 13:08:47 1999
    5    */
    6   
    7   #include <stdio.h>
    8   
    9   #define MAX 256 /* Max. Anzahl von Zeichen */
   10   
   11   int getline(char *, int);       /* Prototyp */
   12   
   13   void main(void)
   14   {
   15     char st[MAX]; /* Feld fuer String */
   16     int l;        /* Zeichenzaehler */
   17     
   18     /* Zeilenweise bis EOF lesen und ausgeben */
   19     while( (l = getline(st, MAX - 1)) != EOF) {
   20       printf("%3d: %s\n", l, st);
   21     }
   22     
   23   } /* main() */
   24   
   25   /* Eine Zeile bis EOF, NL oder max lesen */
   26   int getline(char *s, int max)
   27   {
   28     int n = 0;    /* Zaehler */
   29     int c;        /* Zeichen */
   30     
   31     /* Schleife bis NL, MAX oder EOF */
   32     while ( n < max && (c = getchar()) != EOF && c != '\n') {
   33       s[n++] = c;
   34     } 
   35     /* String terminieren */
   36     s[n] = '\0';
   37     /* Anzahl Zeichen bzw. EOF rueckgeben */
   38     if (c == EOF)
   39       return(EOF);
   40     else
   41       return(n);
   42     
   43   } /* getline() */


Erzeugt von c2html 1.01