70 lines
1.3 KiB
C++
70 lines
1.3 KiB
C++
Copying one or more than one file into one file
|
|
|
|
#include <stdio.h>
|
|
|
|
void main(int argc,char *argv[]){
|
|
int i=0,
|
|
is_copied=0;
|
|
|
|
FILE *input,
|
|
*output;
|
|
|
|
char ch;
|
|
|
|
clrscr();
|
|
|
|
|
|
if (argc>=3){
|
|
|
|
/* last file is the output file */
|
|
output=fopen(argv[argc-1],"w+");
|
|
if (output==NULL){
|
|
gotoxy(10,1);
|
|
printf("Can't open output file :%s",argv[argc-1]);
|
|
getch();
|
|
return;
|
|
}
|
|
|
|
|
|
/* input files */
|
|
for(i=1;i<argc-1;i++){
|
|
input=fopen(argv[i],"r");
|
|
|
|
if (input==NULL){
|
|
gotoxy(10,i+2);
|
|
printf("Can't open input file :%s",argv[i]);
|
|
}
|
|
else{
|
|
/* writing from input file to output file */
|
|
|
|
rewind(input);
|
|
while((ch=fgetc(input))!=EOF){
|
|
fprintf(output,"%c",ch);
|
|
is_copied=1;
|
|
}
|
|
|
|
gotoxy(10,i+2);
|
|
|
|
if (is_copied)
|
|
printf("%s successfully copied into %s",argv[i],argv[argc-1]);
|
|
else
|
|
printf("%s can't copy into %s",argv[i],argv[argc-1]);
|
|
|
|
is_copied=0;
|
|
|
|
}
|
|
fclose(input);
|
|
}
|
|
|
|
fclose(output);
|
|
|
|
|
|
}
|
|
else{
|
|
gotoxy(10,1);
|
|
printf("please specifiy at least two file one source and another target");
|
|
}
|
|
|
|
getch();
|
|
}
|