
标题: [分享]我写的ROT13加编/解码程序! [打印本页]
作者: bush 时间: 2004-6-20 00:00 标题: [分享]我写的ROT13加编/解码程序!
用TC编写,大小9.84kB,可以用来对文本文件加密。大家可以来试一下,看看有没有什么问题,rot13.exe 压缩包
用法是 rot13 源文件 编码文件
但不要使两个参数同名。
ROT13 是一种简单的编码,它把字母分成前后两组,每组13个,编码和解码
的算法相同,仅仅交换字母的这两个部分。
我发现标准的程序无法正确地处理中文,原因好像是几个ctype.h标准函数处理非ASCII字符不太严密
所以我重写了一个,可以处理中文,
以下是源代码:
#include
int main(int argc,char*argv[])
{
FILE *in,*out;
char c,tmp;
if(argc<3)
{
printf("SYNTAX: rot13 sourcefile output\n"
;
exit(1);
}
in=fopen(argv[1],"r"
;
if(!in)
{
printf("cannot open sourcefile!\n"
;
exit(2);
}
out=fopen(argv[2],"w"
;
if(!out)
{
printf("cannot open output!\n"
;
exit(3);
}
while((c=getc(in))+1)
if(c&0x40)
{
tmp=c&0x1f;
if(tmp&&tmp0x0d&&tmp<0x1b)
putc(c-13,out);
else putc(c,out);
}
else putc(c,out);
/*putch(isalpha(c)? tolower(c)<''n''? c+13: c-13: c);*/
return 0;
}