/**
* 汉字转拼音首字母程序(支持多音字)
* Create: 2010-11-23
* First Author: emptyhua@gmail.com
* Second Author: guohua0594@gmail.com
* Compile: gcc -D HZ2PY_BINARY hz2py.c -o hz2py
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int Recursive(int n, char* _stmp, int n_twodim, char** p_twodim, int* p_count, int n_outbuf, char** pp_ret, int n_pp);
#define HZ2PY_VERSION "0.1"
#define HZ2PY_UTF8_CHECK_LENGTH 20
#define HZ2PY_FILE_READ_BUF_ARRAY_SIZE 1000
#define HZ2PY_INPUT_BUF_ARRAY_SIZE 1024
#define HZ2PY_OUTPUT_BUF_ARRAY_SIZE 5120
#define HZ2PY_STR_COPY(to, from, count) \
ok = 1;\
i = 0;\
_tmp = from;\
while(i < count)\
{\
if (*_tmp == '\0')\
{\
ok = 0;\
break;\
}\
_tmp ++;\
i ++;\
}\
if (ok)\
{\
i = 0;\
while(i < count)\
{\
*to = *from;\
to ++;\
from ++;\
i ++;\
}\
}\
else\
{\
if (overage_buff != NULL)\
{\
while(*from != '\0')\
{\
*overage_buff = *from;\
from ++;\
}\
}\
break;\
}
const char *_pinyin_table_[20902] = {
"yi", "ding|zheng", "yu", "qi", "shang", "xia", "myeon", "wan|mo", "zhang", "san", "shang", \
"xia", "qi", "bu|dun|fou|fu", "yu", "mian", "gai", "chou", "chou", "zhuan", "qie|ju", \
"pi", "shi", "shi", "qiu", "bing", "ye", "cong", "dong", "si", "cheng|sheng|zheng", \
"diu", "qiu", "liang", "diu", "you", "liang", "yan", "ban|bang|bing", "sang", "shu", \
"jiu", "gan|ge", "ya", "pan", "zhong", "ji", "jie", "feng", "guan|kuang", "chuan|guan", \
"chan", "lin", "zhuo", "zhu", "ha", "wan", "dan", "wei", "zhu", "dan|jing", \
"li", "ju", "pianpang|pie|yi", "fu", "yi", "ai|yi", "ai|nai", "wu", "jiu", "jiu", \
"zhe|tuo", "me|mo|yao|ma", "xi|yi", "ho", "zhi", "wu", "zha|zuo", "hu", "fa", "le|yue", \
"pan|yin", "ping", "pang", "jiao|qiao", "hu", "guai", "cheng|sheng", "cheng|sheng", "jue|yi", "yin", \
"wan|ya", "mie|nie", "jiu", "qi", "ye|yi", "xi", "xiang", "gai", "jiu", "hal", \
"hol", "shu", "dou|dul", "shi", "ji", "keg|nang", "kal", "keol", "tol", "mol", \
"ol", "mai", "luan", "cal", "ru", "xue", "yan", "phoi", "sal|sha", "na", \
"gan|qian", "sol", "eol", "cui", "ceor", "qian|gan", "zhi|luan", "gui", "gan", "luan", \
"lin", "yi", "jue", "le|liao", "ma", "yu|zhu", "zheng", "shi|zhi", "shi|zi", "er", \
"chu", "xu|yu", "kui|yu", "xu|yu", "yun", "hu", "qi", "wu", "jing", "si", \
"sui", "gen|xuan", "geng|gen", "e|ya", "xie|suo", "e|ya", "zhai|qi", "e|ya", "ji|qi", "wen", \
"wang|wu", "gang|geng|kang", "da", "jiao", "hai|jie", "yi", "chan", "heng|peng|xiang", "mu", "ye", \
"xiang", "jing", "ting", "liang", "xiang", "jing", "ye", "qin|qing", "bo", "you", \
"xie", "chan|dan|zhan", "lian", "duo", "men|wei", "ren", "ren", "ji", "ra", "wang|wu", \
"yi", "shen|shi", "ren", "le|li", "ding", "ze", "fu|jin|nu", "pu", "chou|qiu", "ba", \
"zhang", "jin", "ge|jie", "bing", "reng", "cong", "fo", "san|jin|tao", "lun", "e|bing", \
"cang|chuang", "zai|zi", "shi", "ta|tuo", "zhang", "fu", "xian", "xian", "tuo|duo|cha", "hong", \
"tong", "ren", "qian", "gan|han", "yi|ge", "bo", "dai", "lian|ling", "si|yi", "chao", \
"chang|zhang", "sa", "shang", "yi", "mu", "men", "ren", "fan", "chao|miao", "ang|yang", \
"qian|jing", "zhong", "bi|pi", "wo", "wu", "jian|mou", "jia|jie", "yao|fo", "feng", "cang|chuang", \
"lin|ren", "wang", "bin|fen", "di", "fang|pang", "zhong", "qi", "pei", "xu|yu", "diao", \
"dun", "wu|wen", "yi", "lin|xin", "gang|kang", "yi", "fan|ji", "ai", "wu", "ji|qi", \
"fu", "fa", "xiu|xu", "jin|yin", "pi", "dan|shen", "fu", "nu|tang", "yin|zhong", "you", \
"huo", "hui|kuai", "yu", "cui|zu", "yun", "san", "wei", "chuan|zhuan", "che|ju", "ya", \
"qian|xian", "shang", "chang|cheng|zheng", "lun", "cang|chen", "xun", "xin", "e|gui|wei", "zhu", "chi|che", \
"xuan|xian", "nu", "bo|bai", "gu", "ni", "ni", "xie", "ban|pan", "xu", "ling", \
"zhou", "shen", "qu|zu", "ci|si", "peng|beng", "si|shi", "jia|ga|qie", "pi", "zhi|yi", "shi|si", \
"yi|si|chi", "zheng", "dian|tian", "gan|han", "mai", "dan|tan|yan", "zhu", "bu", "qia|qu", "bi", \
"zhao|shao", "ci", "li|wei", "di", "zhu", "zuo", "you", "yang", "ben|cui|ti", "zhan|dian|chan", \
"he", "bi", "tuo|yi", "she", "tu|xu|yu", "yi|die", "fo|fu", "zuo", "gou|kou", "ning", \
"tong", "ni", "xian", "qu", "yong", "wa", "qian", "shi", "ka", "bao", \
"pei", "huai|hui", "ge|he", "lao|liao", "xiang", "ge|e", "yang", "bai|mo", "fa", "ming", \
"jia", "er|nai", "bing", "ji", "hen|heng", "huo", "gui", "quan", "diao|tiao", "jiao|xiao", \
"ci", "yi", "shi", "xing", "shen", "tuo", "kan", "zhi", "hai|gai", "lai", \
"yi", "chi", "e|hua|kua|wu", "guang|gong", "li|lie", "yin", "shi", "mi", "zhou|zhu", "xu", \
"you", "an", "lu", "mao|mou", "er", "lun", "tong|dong", "cha", "chi", "xun", \
"gong", "zhou", "yi", "ru", "cun|jian", "xia", "si", "dai", "lv", "ta", \
"jiao|yao", "zhen", "ce|zhai", "jiao|qiao", "kuai", "chai", "ning", "nong", "jin", "wu", \
"hou", "jiong", "cheng|ting", "chen|zhen", "zuo", "chou", "qin", "lv", "ju", "dou|shu", \
"ting", "shen", "tuo|tui", "bo", "man|nan", "xiao", "bian|pian", "tui", "yu", "xi", \
"chuo|cu", "e", "qiu", "xu|shu", "guang", "ku", "wu", "dun|jun|shun", "yi", "fu", \
"liang|lang", "zu", "qiao|xiao", "li", "yong", "hun", "jing|ying", "xian|qian", "san", "pei", \
"su", "fu", "xi", "li", "mian|fu", "ping", "bao", "yu|shu", "si|qi", "xia", \
"shen|xin", "xiu", "yu", "di", "che|ju", "chou|dao", "zhi", "yan", "lia|liang", "li", \
"lai", "si", "jian", "xiu", "fu", "huo", "ju", "xiao", "pai", "jian", \
"biao", "shu|chu|ti", "fei", "beng|feng", "ya", "an|yan", "bei", "yu", "xin", "bei|bi|pi", \
"hu|chi", "chang|cheng", "zhi", "bing", "jiu", "yao", "zu|cui", "lia|liang", "wan", "lai|lie", \
"cang|chuang", "zong", "ge", "guan", "bei|pei", "tian", "shu", "shu", "men", "dao", \
"dan|tan", "jue", "chui|zhui", "xing", "peng|ping", "tang|chang", "hou", "ji|yi", "qi", "diao|ti|zhou", \
"gan", "jing|liang", "jie", "sui", "chang", "jie|qie", "fang", "zhi", "kong", "juan", \
"zong", "ju", "qian|qing", "ni|nie", "lun", "zhuo", "wei|wo", "luo", "song", "ling|leng", \
"hun", "dong", "zi", "ben", "wu", "ju", "nai", "cai", "jian", "zhai", \
"ya|ye", "zhi", "sha", "qing", "qie", "ying", "chen|cheng", "qian|jian", "yan", "ruan|ru", \
"zhong|tong", "chun", "jia|jie|xia", "jie|ji", "wei", "yu", "bing", "re|ruo", "ti", "wei", \
"pian", "yan", "feng", "tang|dang", "wo", "e", "xie", "che", "sheng", "kan", \
"di", "zuo", "cha", "ting", "bei", "ye|xie", "huang", "yao", "zhan", "chou|qiao", \
"yan|an", "you", "jian", "xu", "zha", "ci", "fu", "fu|bi", "zhi", "cong|zong", \
"mian", "ji", "yi", "xie", "xun", "si|cai", "duan", "ce|ze|zhai", "zhen", "ou", \
"tou", "tou", "bei", "zan|za", "lou|lv", "jie|qie", "e|gui|wei", "fen", "chang", "kui|gui", \
"sou", "si|zhi", "su", "xia", "fu", "yuan", "rong", "li", "nu", "yun", \
"gou|jiang", "ma", "bang|beng|pang|peng", "dian", "tang", "hao", "jie", "xi", "shan", "qian|jian", \
"que|jue", "cang|chen", "chu", "san", "bei", "xiao", "rong|yong", "yao", "ta|tan", "suo", \
"yang", "fa", "bing", "jia|jie", "dai", "zai", "tang", "gu", "bin", "chu", \
"nuo", "can|san", "lei", "cui", "yong|chong", "cao|zao", "zong", "beng|peng", "song|shuang", "ao", \
"chuan|zhuan", "yu", "zhai", "qi|zu|cou", "shang", "chuang", "jing", "chi", "sha", "han", \
"zhang", "qing", "yan|yin", "di", "su|xie", "lou|lv", "bei", "biao|piao", "jin", "lian", \
"liao|lu", "man", "qian", "xian", "tan|lan", "ying", "dong", "zhuan|zun", "xiang", "shan", \
"jiao|qiao", "jiong", "tui", "cuan|zun", "bu|pu", "xi", "lao", "chang", "guang", "lao|liao", \
"qi", "deng|cheng|teng", "chan|zhuan", "e|gui|wei", "ji", "bo", "hui", "chun|chuan", "tie|jian", "dan|chan", \
"jiao|yao", "jiu", "ceng|seng", "fen", "xian", "ju|yu", "e", "jiao", "jian|zen", "tong|zhuang", \
"lin", "bo", "gu", "xian", "su", "xian", "jiang", "min", "ye", "jin", \
"jia|qia", "qiao", "pi", "feng", "zhou", "ai", "sai", "yi", "jun",
- 1
- 2
- 3
- 4
- 5
前往页