Datei: copy1.c


    1   /*
    2    *      copy1.c
    3    *      Datei zeilenweise kopieren
    4    *      klin, Thu Jan  6 09:44:54 2000
    5    */
    6   
    7   #include <stdio.h>
    8   #include <string.h>
    9   #include <stdlib.h>
   10   
   11   FILE *getfile(char *, char *);
   12   
   13   void main(void)
   14   {
   15     char line[1024];              /* Zeilenpuffer */
   16     FILE *ifp, *ofp;              /* Filepointer */
   17     int c;
   18   
   19     /* Eingabedatei oeffnen */
   20     if ((ifp = getfile("Eingabedatei", "r")) == NULL) {
   21       exit(1);
   22     }
   23   
   24     /* Ausgabedatei oeffnen */
   25     if ((ofp = getfile("Ausgabedatei", "w")) == NULL) {
   26       fclose(ifp);
   27       exit(1);
   28     }
   29     
   30     /* Zeilenweise lesen und schreiben */
   31     while (fgets(line, sizeof(line), ifp))
   32       fputs(line, ofp);
   33       
   34     /* Files schliessen und Ende */
   35     fclose(ifp);
   36     fclose(ofp);
   37   	      
   38     exit(0);
   39       
   40   } /* main() */
   41   
   42   /* Dateinamen lesen und Datei mit Modus mode oeffnen */
   43   FILE *getfile(char *msg, char *mode)
   44   {
   45     char fname[256];      /* Dateiname */
   46     FILE *fp;             /* Dateipointer */
   47     int n;
   48     
   49     /* Namen der Datei einlesen */
   50     do {
   51       printf("%s: ", msg);
   52     } while (fgets(fname, sizeof(fname), stdin) == NULL || fname[0] == '\n');
   53     
   54     /* Evtl. Newline entfernen und durch EOS ersetzen */
   55     n = strlen(fname);
   56     if (fname[n - 1] == '\n')
   57       fname[n - 1] = '\0';
   58       
   59     /* Datei mit Modus mode oeffnen */
   60     if ((fp = fopen(fname, mode)) == NULL)
   61       perror(fname);
   62       
   63     return(fp);
   64   
   65   } /* getfile() */


Erzeugt von c2html 1.01