home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
s
/
snip1292.zip
/
DOSCOPY.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-20
|
2KB
|
56 lines
/***************************************************
* function : copy *
* purpose : copy one file *
* *
* arguments: path to source 'fromDir', *
* path to target 'toDir', *
* filename to copy 'fname' *
* *
* returns : 0 *
* *
* By : Peter Yard (29 May 1991) *
***************************************************/
#include <stdio.h>
#define STDOUT fileno(stdout)
int copy(char *fromDir, char *fname, char *toDir)
{
FILE *nul; /* nul will redirect stdout to DOS 'nul' */
char from[FILENAME_MAX], to[FILENAME_MAX], comd[128];
int bytesRead, oldStdout;
/* Create the strings to describe the paths */
make_path(from, fromDir, fname);
make_path(to, toDir, fname);
/* Construct 'comd' string which is a dos command for a copy */
strcpy(comd, "copy ");
strcat(comd, from); strcat(comd, " ");
strcat(comd, to);
/* Redirect stdout to a nul file, kills output to the screen */
nul = fopen("NUL", "w");
oldStdout = dup(STDOUT);
dup2(fileno(nul), STDOUT);
close(fileno(nul));
system(comd); /* COPY file */
/* Restore stdout and close nul file */
dup2(oldStdout, STDOUT);
close(oldStdout);
/* Display file source and target, */
/* otherwise comment out the next line. */
printf("\n%s copied to %s",from,to);
return 0;
}