|
|
1.1 root 1: #include <stdio.h>
2:
3: char buf[BUFSIZ];
4: void fatal();
5:
6: main(argc, argv)
7: int argc;
8: char *argv[];
9: {
10: register FILE *ifp, *ofp;
11: register unsigned int n;
12:
13: if (argc != 3)
14: fatal("Usage: fopen source destination");
15: if ((ifp = fopen(argv[1], "r")) == NULL)
16: fatal("cannot open input file");
17: if ((ofp = fopen(argv[2], "w")) == NULL)
18: fatal("cannot open output file");
19:
20: while ((n = fread(buf, 1, BUFSIZ, ifp)) != 0) {
21: if (fwrite(buf, 1, n, ofp) != n)
22: fatal("write error");
23: }
24:
25: if (!feof(ifp))
26: fatal("read error");
27: if (fclose(ifp) == EOF || fclose(ofp) == EOF)
28: fatal("cannot close");
29:
30: exit(0);
31: }
32:
33: void fatal(message)
34: char *message;
35: {
36: fprintf(stderr, "fatal: %s\n", message);
37: exit(1);
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.