간단한 암호화 프로그램에서 파일 입력 문제
난초
질문 제목 :
아주 간단한 암호화 프로그램을 짰는데, 파일 입력에서 오류가 납니다.암호화 프로그램에서 파일입력 오류질문 내용 :
코드는 아래와 같습니다. 12년 전의 비교적 오래된 C언어 관련 책에서 구한 예제입니다.
뭔가 잘못한 부분이 있는지 컴파일은 되는데 파일 입력부터 잘 안되네요.
무엇이문제일까요?
#include cstdio
#include cstdlib
#include ctype.h
#include cstring
#define KEY 0xe4
void code(char *input, char *output);
void code(char *input, char *output)
{
FILE *fp1, *fp2;
char ch;
if((fp1 = fopen(input, b)) == NULL){
printf(cannot open input file\n);
exit(1);
}
if((fp2 = fopen(output, wb)) == NULL){
printf(cannot open output file\n);
exit(1);
}
do{
ch = getc(fp1);
ch ^= KEY;
if(feof(fp1)) break;
putc(ch, fp2);
}while(!ferror(fp1) && !ferror(fp2));
fclose(fp1); fclose(fp2);
}
int main(int argc, char *argv[])
{
printf(edge locker v1.0\n);
if(argc != 3){
printf(usage : lock infile outfile\n);
exit(1);
}
if(!strcmp(argv[1], argv[2])){
printf(\07\nfile name must be different!\n);
exit(0);
}
code(argv[1], argv[2]);
printf(\ncomplete!\n);
return 0;
}