/* * Copy one file into another, a line at a time. */ #include #include #include #define MAXLEN 80 long fileCopy(const char *dest, const char *source) { FILE *sfp, *dfp; /* source and destination files */ char line[MAXLEN + 1]; /* next input line */ long cnt = -1L; /* count of characters written */ if ((sfp = fopen(source,"rb")) == NULL) printf("Can't open %s for reading\n", source); else { if ((dfp = fopen(dest,"wb")) == NULL) printf("Can't open %s for writing\n", dest); else { for (cnt = 0L; fgets(line, sizeof(line), sfp) != NULL; cnt += strlen(line)) fputs(line,dfp); fclose(dfp); } fclose(sfp); } return cnt; }