看看一段小程序啊!!帮忙拉!
这是一个关于文件异或加密和解密的程序 为什么我运行时 到printf("........press'y'to decode presss.....")这里的时候就自动的运行完了整个程序 并没有在那里停留 让我输入c=getchar()这个东西啊!!
#include <conio.h>
#include<stdio.h>
#include<stdlib.h>
void main(int argc,char *argv[])
{
FILE *fp1,*fp2,*fp3;
char i,c,ch;
long j;
if (argc!=4)
{
printf("input files errors\n");
exit(0);
}
fp1=fopen(argv[1],"rb");
fp2=fopen(argv[2],"wb");
fp3=fopen(argv[3],"wb");
if (fp1==NULL || fp2==NULL|| fp3==NULL)
{
printf("cannot open file\n");
exit(1);
}
printf("please input passwords:");
scanf("%ld",&j);
ch=fgetc(fp1);
while(!feof(fp1))
{
c=rand();
ch=ch^j;
fputc(ch,fp2);
ch=fgetc(fp1);
}
printf("Encrypt have already completed, press 'Y' to decode press 'N' to quit :") ;
c=getchar();
if(c=='y'||c=='Y')
{
ch=fgetc(fp2);
while(!feof(fp2))
{
ch=ch^j;
fputc(ch,fp2);
ch=fgetc(fp3);
}
fclose(fp1);
fclose(fp2);
fclose(fp3);
exit(0);
}
else if(c=='n'||c=='N')
{
fclose(fp1);
fclose(fp2);
fclose(fp3);
exit(0);
}
}