c语言题加密文件,请高手指教!C语言文件加密题!
#include "stdio.h"
#include "stdlib.h"
void main(int argc,char *argv[])
{
FILE *fp1,*fp2,*fp3;
char ch;
/* 看看参数是否对 */
if(argc!=4)
{
printf("sorry error!");
exit(0);
}
/* 读原文件 */
if((fp1=fopen(argv[1],"r"))==NULL)
{
printf("cant open %s \n",argv[1]);
exit(0);
}
/* 加密的程序 */
if((fp2=fopen(argv[2],"w"))==NULL)
{
printf("cant open %s \n",argv[2]);
exit(0);
}
for(; (ch=fgetc(fp1))!=EOF; )
{
putch(ch); /*输出第一个文件的内容*/
ch=ch +4;
fputc(ch,fp2);
}
printf("\n"); /*你要的换行*/
fclose(fp1);
fclose(fp2);
/* 在打开文?*/
fp2=fopen(argv[2],"r");
if((fp3=fopen(argv[3],"w"))==NULL)
{
printf("cant open %s \n",argv[3]);
exit(0);
}
for(; (ch=fgetc(fp2))!=EOF; )
{
putch(ch);/*输出第二个文件的内容*/
ch=ch -4;
fputc(ch,fp3);
}
printf("\n");/*你要的换行*/
fclose(fp2);
fclose(fp3);
if((fp3=fopen(argv[3],"r"))==NULL)
{
printf("can't open %s",argv[3]);
}
for(; (ch=fgetc(fp2))!=EOF; )
{
putch(ch); /*输出第三个文件的内容*/
}
}
以上的程序是在TURBOC2环境编译通过的,我在XP的CMD下不能正确执行,不知道为什么,真郁闷,所以最好用纯DOS状态或者是TC的 "OS Shell" 来运行
在DOS状态下输入:
pass pass1.txt pass2.txt pass3.txt
即可得到你要求的内容,需要注意的是pass1.txt必须要存在,而且要与pass.exe放在同一个目录下,相信你会注意到这点的。GL
如果你想要这个程序的详细注释或者升级版本可以继续发帖子来问我啦。费用1000元~~哦,打错了,我都快成为KNOCKER了,是免费的~~