cpt.c
来自「数字转换的六个功能模块」· C语言 代码 · 共 32 行
C
32 行
/*
** cpt.c -- encrypt or decrypt ASCII or binary files
**
** Copyright 1982 J. E. Hendrix. All rights reserved.
*/
#include <stdio.h>
#define NOCCARGC
#define MAXKEY 81
#define CTLZ 26
main(argc, argv) int argc, *argv; {
char c, key[MAXKEY];
int i, keylen;
auxbuf(stdin, 4096);
keylen=getarg(1, key, MAXKEY, argc, argv);
if((keylen==EOF)|(key[0]=='-')) {
fputs("usage: CPT key\n", stderr);
abort(7);
}
i=1;
while(read(stdin, &c, 1) > 0) {
poll(YES);
if(isatty(stdin) && (c==CTLZ)) break;
c=c^key[i-1];
if(write(stdout, &c, 1) !=1 ) {
fputs("output error\n", stderr);
abort(7);
}
i=(i%keylen)+1;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?