diff --git a/include/cppjieba/DictTrie.hpp b/include/cppjieba/DictTrie.hpp index 82add4b..26bbb2b 100644 --- a/include/cppjieba/DictTrie.hpp +++ b/include/cppjieba/DictTrie.hpp @@ -4,7 +4,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -108,10 +110,17 @@ class DictTrie { buf.clear(); Split(line, buf, " "); DictUnit node_info; - MakeNodeInfo(node_info, - buf[0], - user_word_default_weight_, - (buf.size() == 2 ? buf[1] : UNKNOWN_TAG)); + if(buf.size() == 1){ + MakeNodeInfo(node_info, + buf[0], + user_word_default_weight_, + UNKNOWN_TAG); + } else { + MakeNodeInfo(node_info, + buf[0], + (buf.size() == 2 ? atoi(buf[1].c_str()) : user_word_default_weight_), + (buf.size() == 3 ? buf[2] : buf[1])); + } static_node_infos_.push_back(node_info); if (node_info.word.size() == 1) { user_dict_single_chinese_word_.insert(node_info.word[0]);