📄 401.htm
字号:
"Sha","Shai","Shan","Shang","Shao","She","Shei","Shen", <br>
<br>
"Sheng","Shi","Shou","Shu","Shua","Shuai", <br>
<br>
"Shuan","Shuang","Shui","Shun","Shuo","Si","Song", <br>
<br>
"Sou","Su","Suan","Sui","Sun","Suo", <br>
<br>
/* -- t -- */ <br>
<br>
"Ta","Tai","Tan","Tang","Tao","Te","Tei", <br>
<br>
"Teng","Ti","Tian","Tiao","Tie","Ting", <br>
<br>
"Tong","Tou","Tu","Tuan","Tui","Tun","Tuo", <br>
<br>
/* -- w -- */ <br>
<br>
"Wa","Wai","Wan","Wang","Wei","Wen","Weng","Wo","Wu", <br>
<br>
<br>
/* -- x -- */ <br>
<br>
"Xi","Xia","Xian","Xiang","Xiao","Xie","Xin","Xing", <br>
<br>
"Xiong","Xiu","Xu","Xuan","Xue","Xun", <br>
<br>
/* -- y -- */ <br>
<br>
"Ya","Yan","Yang","Ye","Yi","Yin","Ying","Yo", <br>
<br>
"Yong","You","Yu","Yuan","Yue","Yun", <br>
<br>
/* -- s -- */ <br>
<br>
"Za","Zai","Zan","Zang","Zao","Ze","Zen","Zeng", <br>
<br>
"CHA","CHAI","CHAN","CHANG","CHAO","CHE","CHEN", <br>
<br>
"CHENG","CHI","CHONG","CHOU","CHU","CHUA","CHUAI", <br>
<br>
"CHUAN","CHUANG","CHUI","CHUN","CHUO","CI","CONG", <br>
<br>
<br>
"COU","CU","CUAN","CUI","CUN","CUO", <br>
<br>
/* -- d -- */ <br>
<br>
"DA","DAI","DAN","DANG","DAO","DE","DEI","DEN", <br>
<br>
"DENG","DI","DIA","DIAN","DIAO","DIE","DING","DIU", <br>
<br>
"DONG","DOU","DU","DUAN","DUI","DUN","DUO", <br>
<br>
/* -- e -- */ <br>
<br>
"E","EI","EN","ENG","ER", <br>
<br>
/* -- f -- */ <br>
<br>
"FA","FAN","FANG","FEI","FEN","FENG","FO","FOU","FU", <br>
<br>
/* -- g -- */ <br>
<br>
"GA","GAI","GAN","GANG","GAO","GE","GEI","GEN","GENG", <br>
<br>
<br>
"GONG","GOU","GU","GUA","GUAN","GUANG","GUI","GUN","GUO", <br>
<br>
/* -- h -- */ <br>
<br>
"HA","HAI","HAN","HANG","HAO","HE","HEI","HEN","HENG", <br>
<br>
"HM","HNG","HONG","HOU","HU","HUA","HUAI","HUAN", <br>
<br>
"HUANG","HUI","HUN","HUO", <br>
<br>
/* -- j -- */ <br>
<br>
"JI","JIA","JIAN","JIANG","JIAO","JIE","JIN","JING", <br>
<br>
"JIONG","JIU","JU","JUAN","JUE","JUN", <br>
<br>
/* -- k -- */ <br>
<br>
"KA","KAI","KAN","KANG","KAO","KE","KEI","KEN","KENG", <br>
<br>
"KONG","KOU","KU","KUA","KUAI","KUAN","KUANG","KUI", <br>
<br>
<br>
"KUN","KUO", <br>
<br>
/* -- l -- */ <br>
<br>
"LA","LAI","LAN","LANG","LAO","LE","LEI","LEN","LENG", <br>
<br>
"LI","LIA","LIAN","LIANG","LIAO","LIE","LIN","LING", <br>
<br>
"LIU","LO","LONG","LOU","LU","LV","LUAN","LUE","LUN","LUO", <br>
<br>
/* -- m -- */ <br>
<br>
"MA","MAI","MAN","MANG","MAO","ME","MEI","MEN","MENG", <br>
<br>
"MI","MIAN","MIAO","MIE","MIN","MING","MIU","MO","MOU","MU", <br>
<br>
/* -- n -- */ <br>
<br>
"NA","NAI","NAN","NANG","NAO","NE","NEI","NEN","NENG","NG", <br>
<br>
"NI","NIA","NIAN","NIANG","NIAO","NIE","NIN","NING", <br>
<br>
<br>
"NIU","NONG","NOU","NU","NV","NUAN","NUE","NUO", <br>
<br>
/* -- o -- */ <br>
<br>
"O","OU", <br>
<br>
/* -- p -- */ <br>
<br>
"PA","PAI","PAN","PANG","PAO","PEI","PEN","PENG","PI","PIAN", <br>
<br>
"PIAO","PIE","PIN","PING","PO","POU","PU", <br>
<br>
/* -- q -- */ <br>
<br>
"QI","QIA","QIAN","QIANG","QIAO","QIE","QIN","QING", <br>
<br>
"QIONG","QIU","QU","QUAN","QUE","QUN", <br>
<br>
/* -- r -- */ <br>
<br>
"RAN","RANG","RAO","RE","REN","RENG","RI","RONG","ROU", <br>
<br>
<br>
"RU","RUA","RUAN","RUI","RUN","RUO", <br>
<br>
/* -- s -- */ <br>
<br>
"SA","SAI","SAN","SANG","SAO","SE","SEN","SENG", <br>
<br>
"SHA","SHAI","SHAN","SHANG","SHAO","SHE","SHEI","SHEN", <br>
<br>
"SHENG","SHI","SHOU","SHU","SHUA","SHUAI", <br>
<br>
"SHUAN","SHUANG","SHUI","SHUN","SHUO","SI","SONG", <br>
<br>
"SOU","SU","SUAN","SUI","SUN","SUO", <br>
<br>
/* -- t -- */ <br>
<br>
"TA","TAI","TAN","TANG","TAO","TE","TEI", <br>
<br>
"TENG","TI","TIAN","TIAO","TIE","TING", <br>
<br>
"TONG","TOU","TU","TUAN","TUI","TUN","TUO", <br>
<br>
<br>
/* -- w -- */ <br>
<br>
"WA","WAI","WAN","WANG","WEI","WEN","WENG","WO","WU", <br>
<br>
/* -- x -- */ <br>
<br>
"XI","XIA","XIAN","XIANG","XIAO","XIE","XIN","XING", <br>
<br>
"XIONG","XIU","XU","XUAN","XUE","XUN", <br>
<br>
/* -- y -- */ <br>
<br>
"YA","YAN","YANG","YE","YI","YIN","YING","YO", <br>
<br>
"YONG","YOU","YU","YUAN","YUE","YUN", <br>
<br>
/* -- s -- */ <br>
<br>
"ZA","ZAI","ZAN","ZANG","ZAO","ZE","ZEN","ZENG", <br>
<br>
"ZHA","ZHAI","ZHAN","ZHANG","ZHAO","ZHE","ZHEI","ZHEN", <br>
<br>
<br>
"ZHENG","ZHI","ZHOU","ZHU","ZHUA","ZHUAI", <br>
<br>
"ZHUAN","ZHUANG","ZHUI","ZHUN","ZHUO","ZI","ZONG", <br>
<br>
"ZOU","ZU","ZUAN","ZUI","ZUN","ZUO", <br>
<br>
#endif <br>
<br>
NULL <br>
<br>
}; <br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
void start(){ /* daemonlization */ <br>
<br>
int i; <br>
<br>
<br>
<br>
<br>
if (fork() != 0) exit(0); /* background */ <br>
<br>
<br>
<br>
setsid(); /* a new session */ <br>
<br>
/* not controlling terminal */ <br>
<br>
signal (SIGHUP,SIG_IGN); /* can't be hang up */ <br>
<br>
<br>
<br>
if (fork() != 0) exit(0); /* am not session leader */ <br>
<br>
/* can't get controlling terminal later */ <br>
<br>
<br>
<br>
for (i=0; i<3; i++) close(i); /* close all file descriptor */ <br>
<br>
<br>
<br>
<br>
} <br>
<br>
<br>
<br>
void gen_words(char *buf,int buflen,int level){ <br>
<br>
char ** pptr; <br>
<br>
int len; <br>
<br>
<br>
<br>
if (buflen >= MAXPASS || level == 0){ <br>
<br>
printf("%s\n",buf); <br>
<br>
return; <br>
<br>
} /* output a word */ <br>
<br>
<br>
<br>
<br>
pptr = syllables ; <br>
<br>
for (; *pptr != NULL ; pptr ++){ <br>
<br>
len = strlen(*pptr); <br>
<br>
if ((buflen + len) <= MAXPASS){ <br>
<br>
strcpy(buf + buflen,*pptr); <br>
<br>
gen_words(buf,buflen+len,level-1); <br>
<br>
} <br>
<br>
} <br>
<br>
<br>
<br>
} <br>
<br>
<br>
<br>
<br>
<br>
<br>
main(int argc,char **argv){ <br>
<br>
char buf[MAXPASS+1]; <br>
<br>
int cnt; <br>
<br>
int out; <br>
<br>
<br>
<br>
umask(0); <br>
<br>
<br>
<br>
if (argc == 2){ <br>
<br>
cnt = 3; <br>
<br>
<br>
out = open(argv[1],O_WRONLY | O_CREAT | O_TRUNC); <br>
<br>
} <br>
<br>
if (argc == 3){ <br>
<br>
cnt = atoi(argv[1]); <br>
<br>
out = open(argv[2],O_WRONLY | O_CREAT | O_TRUNC); <br>
<br>
} <br>
<br>
else { <br>
<br>
printf("Usage: %s [syllable count] outfile\n",argv[0]); <br>
<br>
printf("e.g. %s 2 ./words\n",argv[0]); <br>
exit(0); <br>
} <br>
<br>
if (cnt > 3) { <br>
printf("Syllable count must be less than 3(include 3).\n"); <br>
exit(0); <br>
} <br>
<br>
start(); /* daemonlize it */ <br>
<br>
dup2(out,1); <br>
<br>
gen_words(buf,0,cnt); <br>
} <br>
<br>
---cut here---- <br>
<br>
-- <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="315.htm">上一层</a>][<a href="402.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -