Datei: strout.c


    1   /*
    2    *      strout.c
    3    *      Strings einlesen, dynamisch speichern
    4    *      und mit Zeilennummer ausgeben
    5    *      Wed Dec 15 16:31:29 1999
    6    */
    7   
    8   #include <stdio.h>
    9   #include <stdlib.h>
   10   #include <string.h>
   11   
   12   #define NBUF 1024       /* Groesse des Einlesepuffers */
   13   #define NSTR 256        /* Groesse des Stringvektors  */
   14   
   15   void main(void)
   16   {
   17     char *str[NSTR];      /* Stringvektor  */
   18     char buf[NBUF];       /* Einlesepuffer */
   19     int nstr = 0;         /* Zeilenzaehler */
   20     char *bp;             /* Stringpointer */
   21     int len;              /* Laenge        */
   22     int n;                /* Zaehler       */
   23   
   24     /* Strings in Vektor str einlesen */
   25     while (gets(buf) != NULL && nstr < NSTR) {
   26       /* Stringlaenge feststellen */
   27       len = strlen(buf);
   28       /* Speicherplatz auf Heap reservieren: len + 1 */
   29       if ((bp = (char *) malloc(len + 1)) == NULL) {
   30         printf("Fehler: Kein Speicherplatz!\n");
   31         exit(1);
   32       }
   33       /* String von Puffer in Heap kopieren und in Vektor eintragen */
   34       str[nstr] = strcpy(bp, buf);
   35       ++nstr;
   36     }
   37   
   38     /* Stringvektor mit Zeilennummer ausgeben */
   39     for (n = 0; n < nstr; n++)
   40       printf("%3d: %s\n", n + 1, str[n]);
   41   
   42     exit(0);
   43   
   44   } /* main() */


Erzeugt von c2html 1.01