C语言程序求解,关于文件加密,能给我现成的程序最好
文件加密解密。将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。1.文件加密解密。将文件fi...
文件加密解密。将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。
1.文件加密解密。将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。
file1文件内容是:This is a book.
路径为:d:\file1.txt d:\file2.txt
(请从命令行输入)
下面是我的,问题有点多,望指点:
#include<stdio.h>
#include<string.h>
void main(int argc,char *argv[ ])
{FILE*fp1,*fp2 ;
char ch;
if(agrc!=2)
{
printf(“Using:command filename<CR>\n”);
return;
}
if((fp=fopen(argv[1],”r”))==NULL)
{
printf(“Can’t open the file 1.\n”)
return;
}
if((f2=fopen(argv[2],"w+"))==NULL)
{
printf("Can’t open file 2.\n");
return;
}
while(!feof(fp1))
fgetc(fp1);
ch=ch^0x6a;
putchar(ch);
ch=fgetc(fp1);
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
printf("\n解密后字符:");
if((f2=fopen(argv[2],"r"))==NULL)
{
printf("cannot open file strike any key exit!\n");
return;
}
ch=fgetc(fp2);
while(ch!=EOF)
{
ch=ch^0x6a;
putchar(ch);
ch=fgetc(fp2);
}
fclose(fp2);
printf("\n");
} 展开
1.文件加密解密。将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。
file1文件内容是:This is a book.
路径为:d:\file1.txt d:\file2.txt
(请从命令行输入)
下面是我的,问题有点多,望指点:
#include<stdio.h>
#include<string.h>
void main(int argc,char *argv[ ])
{FILE*fp1,*fp2 ;
char ch;
if(agrc!=2)
{
printf(“Using:command filename<CR>\n”);
return;
}
if((fp=fopen(argv[1],”r”))==NULL)
{
printf(“Can’t open the file 1.\n”)
return;
}
if((f2=fopen(argv[2],"w+"))==NULL)
{
printf("Can’t open file 2.\n");
return;
}
while(!feof(fp1))
fgetc(fp1);
ch=ch^0x6a;
putchar(ch);
ch=fgetc(fp1);
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
printf("\n解密后字符:");
if((f2=fopen(argv[2],"r"))==NULL)
{
printf("cannot open file strike any key exit!\n");
return;
}
ch=fgetc(fp2);
while(ch!=EOF)
{
ch=ch^0x6a;
putchar(ch);
ch=fgetc(fp2);
}
fclose(fp2);
printf("\n");
} 展开
1个回答
推荐于2016-09-18
展开全部
#include<stdio.h>
#include<string.h>
void main(int argc,char *argv[ ])
{
FILE*fp1,*fp2 ;
char ch;
if(argc!=3) // 包括命令本身应该3个参数
{
printf("Using:command filename<CR>\n"); // "" 不是全角字符(中文符号)
return;
}
if((fp1=fopen(argv[1],"r"))==NULL)
{
printf("Can’t open the file 1.\n"); // "" 不是全角字符
return;
}
if((fp2=fopen(argv[2],"w+"))==NULL)
{
printf("Can't open file 2.\n");
return;
}
while(!feof(fp1)){ // 少花括号
ch=fgetc(fp1); // 未赋值
ch=ch^0x6a;
putchar(ch);
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
printf("\n解密后字符:");
if((fp2=fopen(argv[2],"r"))==NULL)
{
printf("cannot open file strike any key exit!\n");
return;
}
ch=fgetc(fp2);
while(ch!=EOF)
{
ch=ch^0x6a;
putchar(ch);
ch=fgetc(fp2);
}
fclose(fp2);
printf("\n");
}
错的地方,没给你全标出来,使用了不少全角字符,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询