📄 0.args.c
字号:
#include <stdio.h>##include "def.h"int errflag;FILE *infd;int intcase=1, arbcase=0;int exitsize=0; /* max number of nodes to be left in loop without iterating */int maxnode=400; /* max number of nodes */int maxhash=347; /* prime number = size of hash table */int progress=0; /* if not 0, print line number every n lines, n = progress */int labinit=10; /* labels generated starting with labinit */int labinc=10; /* labels increase by labinc */int inputform=0; /* = 0 if freeform input, 1 if standard form input */int debug=0;int levbrk=1; /* true implies multilevel breaks; false implies single-level breaks only */int levnxt=1; /* true implies multilevel nexts; false implies single-level nexts only */int maxprogsw=12; /* number of program switches which can be set */char *progsw[] = {"i", "a", "e", "m", "h", "p", "t", "c", "s", "d", "b", "n" };int *swval[] = {&intcase, &arbcase, &exitsize, &maxnode, &maxhash, &progress, &labinit, &labinc, &inputform, &debug, &levbrk, &levnxt };char *getargs(argc, argv)int argc; char *argv[]; { int n, infile; infile = 0; for (n = 1; n < argc; ++n) { if (argv[n][0] == '-') setsw(&argv[n][1]); else { if (infile != 0) error("multiple input files - using first one: ", argv[infile],""); else infile = n; } } if (errflag) exit(1); if (!infile) faterr("no input file","",""); infd = fopen(argv[infile],"r"); if (infd == NULL) faterr("can't open input file:",argv[infile],""); return; }setsw(str)char *str; { int i, val, swnum;#define maxtemp 15 char temp[maxtemp]; for (i = 0; 'a' <= str[i] && str[i] <= 'z'; ++i) { if (i >= maxtemp) { error("invalid switch:",str,""); errflag = 1; } temp[i] = str[i]; } temp[i] = '\0'; swnum = find(temp,progsw,maxprogsw); if (swnum == -1) { error("invalid switch:", str,""); errflag = 1; return; } if (str[i] == '\0') *(swval[swnum]) = !*(swval[swnum]); else { sscanf(&str[i],"%d",&val); *(swval[swnum]) = val; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -