X 我知道了TIPS:左右滑动导航栏可以查看更多栏目
编程:从一文本文件中读出字符,将所有字母用它后面的第六个字符代替一实现简单加密,加密后的内容保存到另一文文件中. 不胜感谢!!!
>> 本文固定链接: http://www.vcgood.com/archives/2266
>> 转载请注明: lxnini 2008年04月10日 于 C语言帝国 发表
兄弟,拿去看看,我也是一个初学者,如有错误,请自己改一下
//—————————————————————————
#pragma hdrstop#include”stdio.h”//—————————————————————————
#pragma argsusedint main(int argc, char* argv[]){
FILE *fp; char zf; if (argc==2) { printf(“没有输入需要加密的文件完整路径,应用程序退出\n”); getch(); exit(1); } if ((fp=fopen(argv[1],”wt+”))==NULL) { printf(“文件打开错误\n应用程序退出”); getch(); exit(1); } while((zf=fgetc(fp))!=EOF) { zf=zf+6; fseek(fp,-1,SEEK_CUR); //当文件指针向前移动一个字节 fputc(zf,fp); //写入刚才加密的字符 }}//—————————————————————————
/*将输入一字符串中的所有字母进行简单加密,每个字母本身向后移4形成密文并输出,如A->E、B->F、C->G、……U->Y、V->Z、W->A、X->B、Y->C、Z->D*/#include <stdio.h>
void main(){ char s; while ((s=getchar())!=’\n’) { if((s>=’a’ && s<=’z') || (s>=’A’ && s<=’Z')) { s=s+4; if(s>’Z’ && s<=’Z'+4 || s>’z') s=s-26; } printf(“%c”,s); } printf(“\n”);}
2楼的代码稍微又点问题
即,如果明文为符号时,没有判断。而代码是ASCII码加密,往后第6个字符可能时特殊字符而不能显示。!
从楼主的要求看,似乎除了字母,其他都不加密!
你必须先 登录才能发表评论。
兄弟,拿去看看,我也是一个初学者,如有错误,请自己改一下
//—————————————————————————
#pragma hdrstop
#include”stdio.h”
//—————————————————————————
#pragma argsused
int main(int argc, char* argv[])
{
FILE *fp;
char zf;
if (argc==2)
{
printf(“没有输入需要加密的文件完整路径,应用程序退出\n”);
getch();
exit(1);
}
if ((fp=fopen(argv[1],”wt+”))==NULL)
{ printf(“文件打开错误\n应用程序退出”);
getch();
exit(1);
}
while((zf=fgetc(fp))!=EOF)
{
zf=zf+6;
fseek(fp,-1,SEEK_CUR); //当文件指针向前移动一个字节
fputc(zf,fp); //写入刚才加密的字符
}
}
//—————————————————————————
/*将输入一字符串中的所有字母进行简单加密,每个字母本身向后移4形成密文并输出,
如A->E、B->F、C->G、……U->Y、V->Z、W->A、X->B、Y->C、Z->D*/
#include <stdio.h>
void main()
{
char s;
while ((s=getchar())!=’\n’)
{
if((s>=’a’ && s<=’z') || (s>=’A’ && s<=’Z'))
{
s=s+4;
if(s>’Z’ && s<=’Z'+4 || s>’z')
s=s-26;
}
printf(“%c”,s);
}
printf(“\n”);
}
2楼的代码稍微又点问题
即,如果明文为符号时,没有判断。而代码是ASCII码加密,往后第6个字符可能时特殊字符而不能显示。!
从楼主的要求看,似乎除了字母,其他都不加密!