mkey1.c
来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 98 行
C
98 行
#ifndef lintstatic char *sccsid = "@(#)mkey1.c 4.1 (Berkeley) 5/6/83";#endif#include <stdio.h>extern char *comname; /* "/usr/lib/eign" */int wholefile = 0;int keycount = 100;int labels = 1;int minlen = 3;extern int comcount;char *iglist = "XYZ#";main (argc,argv)char *argv[];{ /* this program expects as its arguments a list of * files and generates a set of lines of the form * filename:byte-add,length (tab) key1 key2 key3 * where the byte addresses give the position within * the file and the keys are the strings off the lines * which are alphabetic, first six characters only. */ int i; char *name, qn[200]; char *inlist = 0; FILE *f, *ff; while (argc>1 && argv[1][0] == '-') { switch(argv[1][1]) { case 'c': comname = argv[2]; argv++; argc--; break; case 'w': wholefile = 1; break; case 'f': inlist = argv[2]; argv++; argc--; break; case 'i': iglist = argv[2]; argv++; argc--; break; case 'l': minlen = atoi(argv[1]+2); if (minlen<=0) minlen=3; break; case 'n': /* number of common words to use */ comcount = atoi(argv[1]+2); break; case 'k': /* number of keys per file max */ keycount = atoi(argv[1]+2); break; case 's': /* suppress labels, search only */ labels = 0; break; } argc--; argv++; } if (inlist) { ff = fopen(inlist, "r"); while (fgets(qn, 200, ff)) { trimnl(qn); f = fopen (qn, "r"); if (f!=NULL) dofile(f, qn); else fprintf(stderr, "Can't read %s\n",qn); } } else if (argc<=1) dofile(stdin, ""); else for(i=1; i<argc; i++) { f = fopen(name=argv[i], "r"); if (f==NULL) err("No file %s",name); else dofile(f, name); } exit(0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?