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 |