Board logo

标题: [分享]我写的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;
}