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 |