h^key;fputc(ch,fp2);}fclose(fp1);fclose(fp2);printf("ess!\n");}voidfun2(){FILE*fp1,*fp2;charkey,ch;charfilename1[50],filename2[50];printf("inalfilenamen:");menu21:gets(filename1);if((fp1=fopen(filename1,"rt"))==NULL){printf("%sopenError!",filename1);gotomenu21;}printf("Pleaseinputtargetfilenamen:");menu22:gets(filename2);if((fp2=fopen(filename2,"wt+"))==NULL){printf("%sopenError!",filename2);gotomenu22;}printf("Pleaseinputkey:");getche(key);printf("\n");while((ch=fgetc(fp1))!=EOF){ch=ch^key;fputc(ch,fp2);}fclose(fp1);fclose(fp2);printf("ess!\n");}voidfun3(){?FILE*fp;?charch,filename[50];?printf("Pleaseenterthefilename:");?gets(filename);?if((fp=fopen(filename,"r"))==NULL)?{ printf("Can'topenthisfile!"); exit(0);}?ch=fgetc(fp);?while(ch!=EOF)?{ putchar(ch);ch=fgetc(fp);?}?fclose(fp);}main()