- Code: Select all
#include <stdio.h>
void filecopy(FILE* , FILE*, FILE*);
int main(int argc, char* argv[]){
FILE* fp;
FILE* key;
key = fopen("key.txt", "rb");
if(argc == 1){
filecopy(stdin, stdout, key);
}else{
while(--argc > 0){
if ((fp = fopen(*++argv, "rb")) == NULL){
printf("krypt: problem\n");
return 1;
}else{
filecopy(fp, stdout, key);
fclose(fp);
fclose(key);
}
}
}
return 0;
}
void filecopy(FILE* ifp, FILE* ofp, FILE* kfp){
int c, n;
while(((c = getc(ifp)) != EOF) && ((n = getc(kfp)) != EOF)){
c = c ^ n;
putc(c, ofp);
}
}
any obvious signs of "doing it wrong"?

