예제 #1
0
 bool cut(const string& str, vector<string>& res)const
 {
     if(!_getInitFlag())
     {
         LogError("not inited.");
         return false;
     }
     ChineseFilter filter;
     filter.feed(str);
     for(ChineseFilter::iterator it = filter.begin(); it != filter.end(); it++)
     {
         if(it.charType == CHWORD)
         {
             cut(it.begin, it.end, res);
         }
         else
         {
             string tmp;
             if(TransCode::encode(it.begin, it.end, tmp))
             {
                 res.push_back(tmp);
             }
         }
     }
     return true;
 }
예제 #2
0
int main()
{
    ChineseFilter chFilter;
    ifstream ifs("../demo/testlines.utf8");
    string line;
    while(getline(ifs, line))
    {
        chFilter.feed(line);
    }
    for(ChineseFilter::iterator it = chFilter.begin(); it != chFilter.end(); it++)
    {
        //cout<<__FILE__<<__LINE__<<endl;
        string tmp;
        TransCode::encode(it.begin, it.end, tmp);
        cout<<tmp<<endl;
    }
    return 0;
}