青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
數(shù)據(jù)加載中……

內(nèi)存搜索與解析

char*            MemFind(const void* src_buf, int src_len, const void* find_buf, int find_len);
BOOL            ParserMem(const void* src_buf, int src_len, const vector< vector<char> >& vec_par, vector< vector<char> >& vec_result);//---- 多重二進(jìn)制分割
BOOL            ParserMem(const void* src_buf, int src_len, const vector<char>& vec_par, vector< vector<char> >& vec_result);//---- 單層二進(jìn)制分割
BOOL            ParserMem(const void* src_buf, int src_len, const char* par_buf, vector< vector<char> >& vec_result);//---- 字符分割
BOOL            ParserMem(const void* src_buf, int src_len, const char* par_buf, vector<string>& vec_result);//---- 字符分割

 

char* Glob_Fun::MemFind(const void* src_buf, int src_len, const void* find_buf, int find_len)
{
    if ((NULL == src_buf) || (NULL == find_buf)
        || (src_len <= 0) || (find_len <= 0))
        return NULL;

    char*cp = (char*)src_buf;
    char*src_end = (char*)src_buf +  src_len;
    char*find_end = (char*)find_buf + find_len;
    char*s_src = NULL, *s_find = NULL;
    while (cp < src_end)
    {
        s_src = cp;
        s_find = (char*)find_buf;
        while (s_src < src_end && s_find < find_end && *s_src == *s_find)
            ++s_src, ++s_find;
        if (s_find == find_end)
            return(cp);
        ++cp;
    }
    return(NULL);
}

BOOL Glob_Fun::ParserMem(
                         const void*                    src_buf,
                         int                            src_len,
                         const vector< vector<char> >&    vec_par,
                         vector< vector<char> >&        vec_result)
{
    if ((NULL == src_buf) || (src_len <= 0) || vec_par.size() <= 0)
        return FALSE;
    for (size_t t = 0; t < vec_par.size(); ++t)
    {
        if(0 >= vec_par[t].size())
            return FALSE;
    }

    vec_result.clear();

    vector<char> vec_tmp;
    BOOL bMatched = FALSE;
    int nParCount = vec_par.size();
    int nParTick = 0;
    char*cp = (char*)src_buf;
    char*src_end = (char*)src_buf +  src_len;
    int  nParLen = (int)vec_par[0].size();
    char*find_buf = (char*)&(vec_par[0][0]);
    char*find_end = find_buf + nParLen;
    char*s_src = NULL, *s_find = NULL;

    while (cp < src_end)
    {
        s_src = cp;
        s_find = (char*)find_buf;
        while (s_src < src_end && s_find < find_end && *s_src == *s_find)
            ++s_src,++s_find;
        if (s_find == find_end)
        {   
            bMatched = TRUE;
            cp += nParLen;
            vec_result.push_back(vec_tmp);
            vec_tmp.clear();
            ++nParTick;
            if(nParCount == nParTick)
                nParTick = 0;
            nParLen = (int)(vec_par[nParTick].size());
            find_buf = (char*)&(vec_par[nParTick][0]);
            find_end = find_buf + nParLen;            
        }
        else
        {
            vec_tmp.push_back(*cp);
            ++cp;
        }
    }
    if(TRUE == bMatched)
        vec_result.push_back(vec_tmp);
    return(bMatched);
}

BOOL Glob_Fun::ParserMem(
                         const void*                    src_buf,
                         int                            src_len,
                         const vector<char>&            vec_par,
                         vector< vector<char> >&        vec_result)
{
    if ((NULL == src_buf) || (src_len <= 0) || vec_par.size() <= 0)
        return FALSE;
    vec_result.clear();

    vector<char> vec_tmp;
    BOOL bMatched = FALSE;
    char*cp = (char*)src_buf;
    char*src_end = (char*)src_buf +  src_len;
    int  nParLen = (int)vec_par.size();
    char*find_buf = (char*)&(vec_par[0]);
    char*find_end = find_buf + nParLen;
    char*s_src = NULL, *s_find = NULL;

    while (cp < src_end)
    {
        s_src = cp;
        s_find = (char*)find_buf;
        while (s_src < src_end && s_find < find_end && *s_src == *s_find)
            ++s_src, ++s_find;
        if (s_find == find_end)
        {   
            bMatched = TRUE;
            cp += nParLen;
            vec_result.push_back(vec_tmp);
            vec_tmp.clear();        
        }
        else
        {
            vec_tmp.push_back(*cp);
            ++cp;
        }
    }
    if(TRUE == bMatched)
        vec_result.push_back(vec_tmp);
    return(bMatched);
}

BOOL Glob_Fun::ParserMem(
                         const void*                    src_buf,
                         int                            src_len,
                         const char*                    par_buf,
                         vector< vector<char> >&        vec_result)
{
    if ((NULL == src_buf) || (src_len <= 0) || strlen(par_buf) <= 0)
        return FALSE;
    vec_result.clear();

    vector<char> vec_tmp;
    BOOL bMatched = FALSE;
    char*cp = (char*)src_buf;
    char*src_end = (char*)src_buf +  src_len;
    int  nParLen = strlen(par_buf);
    char*find_buf = (char*)par_buf;
    char*find_end = find_buf + nParLen;
    char*s_src = NULL, *s_find = NULL;

    while (cp < src_end)
    {
        s_src = cp;
        s_find = (char*)find_buf;
        while (s_src < src_end && s_find < find_end && *s_src == *s_find)
            ++s_src, ++s_find;
        if (s_find == find_end)
        {   
            bMatched = TRUE;
            cp += nParLen;
            vec_result.push_back(vec_tmp);
            vec_tmp.clear();        
        }
        else
        {
            vec_tmp.push_back(*cp);
            ++cp;
        }
    }
    if(TRUE == bMatched)
        vec_result.push_back(vec_tmp);
    return(bMatched);
}

BOOL Glob_Fun::ParserMem(
                         const void*                    src_buf,
                         int                            src_len,
                         const char*                    par_buf,
                         vector<string>&                vec_result)
{
    if ((NULL == src_buf) || (src_len <= 0) || strlen(par_buf) <= 0)
        return FALSE;
    vec_result.clear();

    string vec_tmp;
    BOOL bMatched = FALSE;
    char*cp = (char*)src_buf;
    char*src_end = (char*)src_buf +  src_len;
    int  nParLen = strlen(par_buf);
    char*find_buf = (char*)par_buf;
    char*find_end = find_buf + nParLen;
    char*s_src = NULL, *s_find = NULL;

    while (cp < src_end)
    {
        s_src = cp;
        s_find = (char*)find_buf;
        while (s_src < src_end && s_find < find_end && *s_src == *s_find)
            ++s_src, ++s_find;
        if (s_find == find_end)
        {   
            bMatched = TRUE;
            cp += nParLen;
            vec_result.push_back(vec_tmp);
            vec_tmp.clear();        
        }
        else
        {
            vec_tmp.push_back(*cp);
            ++cp;
        }
    }
    if(TRUE == bMatched)
        vec_result.push_back(vec_tmp);
    return(bMatched);
}

posted on 2008-06-23 15:43 肥仔 閱讀(1715) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 庫(kù) & 代碼段

評(píng)論

# re: 內(nèi)存搜索與解析[未登錄](méi)  回復(fù)  更多評(píng)論   

good
2009-04-20 16:38 | a
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区精品久久911| 亚洲影音一区| 狠狠色伊人亚洲综合网站色| 国产精品www| 欧美日韩一区在线播放| 欧美日本高清| 欧美日韩成人在线视频| 欧美视频中文在线看| 国产精品国产三级国产aⅴ入口| 欧美日韩精品综合| 国产精品美女久久福利网站| 国产人妖伪娘一区91| 激情五月综合色婷婷一区二区| 韩国久久久久| 日韩亚洲精品视频| 亚洲欧美综合精品久久成人| 久久精品国产成人| 猛干欧美女孩| 亚洲国产精品视频一区| 欧美激情bt| 在线视频一区二区| 久久久福利视频| 亚洲国产精品国自产拍av秋霞| 亚洲欧美一区二区原创| 久久综合久久88| 日韩午夜av| 亚洲欧美视频在线| 男男成人高潮片免费网站| 欧美视频国产精品| 尹人成人综合网| 亚洲自拍电影| 亚洲风情亚aⅴ在线发布| 亚洲图片自拍偷拍| 欧美顶级少妇做爰| 国产亚洲人成网站在线观看| 亚洲另类在线一区| 久久久综合免费视频| 亚洲国产日韩欧美在线99| 亚洲一区二区三区免费观看| 另类亚洲自拍| 国产日产欧美一区| 亚洲午夜高清视频| 亚洲第一主播视频| 久久精品欧美| 国产日韩欧美亚洲| 国产精品久久久亚洲一区 | 欧美日精品一区视频| 国产视频在线观看一区二区三区| 亚洲国产一区二区三区a毛片| 羞羞色国产精品| 日韩视频不卡中文| 欧美激情无毛| 国产日韩在线亚洲字幕中文| 国产精品一区在线观看你懂的| 亚洲激情网址| 久久这里有精品视频| 亚洲免费在线观看视频| 国产精品成人一区二区艾草| 99re6这里只有精品视频在线观看| 欧美二区乱c少妇| 久久亚洲一区二区三区四区| 国产日产欧产精品推荐色| 小嫩嫩精品导航| 亚洲自拍16p| 欧美日韩一区高清| 正在播放日韩| 夜色激情一区二区| 国产精品福利av| 欧美亚洲三区| 欧美亚洲在线观看| 激情成人av| 欧美激情在线免费观看| 欧美高清视频一区二区| 99日韩精品| 亚洲视频在线免费观看| 国产精品亚洲一区| 久久久噜噜噜久久中文字幕色伊伊| 欧美影视一区| 亚洲国产专区校园欧美| 91久久国产综合久久蜜月精品 | 亚洲激情另类| 欧美日韩国产一区二区| 亚洲午夜国产成人av电影男同| 亚洲麻豆视频| 国产精品九九久久久久久久| 欧美一区二视频在线免费观看| 欧美jizzhd精品欧美巨大免费| 午夜精品久久久久久久99热浪潮| 国模吧视频一区| 欧美风情在线观看| 欧美视频在线观看免费网址| 久久gogo国模裸体人体| 久久一区亚洲| 亚洲综合清纯丝袜自拍| 欧美一区二区私人影院日本| 在线观看成人av电影| 亚洲卡通欧美制服中文| 国产婷婷精品| 亚洲精品一区在线| 国产乱码精品| 亚洲一区二区网站| 久久久www成人免费毛片麻豆| 亚洲一区二区欧美| 亚洲电影视频在线| 一区二区三区高清在线观看| 国产亚洲亚洲| 99视频精品在线| 在线精品国产成人综合| 正在播放亚洲| 亚洲国产网站| 久久国产精品久久精品国产| 一区二区三区免费网站| 久久狠狠久久综合桃花| 亚洲午夜久久久| 蜜桃av噜噜一区二区三区| 欧美一级黄色录像| 欧美日韩国产麻豆| 亚洲高清中文字幕| 韩日成人在线| 午夜激情综合网| 亚洲一区二区三区视频播放| 麻豆国产精品777777在线| 亚洲电影免费在线 | 久久精品人人做人人爽| 亚洲欧美日韩一区二区| 欧美剧在线观看| 亚洲国产成人精品女人久久久| 国产欧美日韩| 亚洲自啪免费| 午夜免费日韩视频| 欧美色视频一区| 亚洲国产美女久久久久| 影音先锋成人资源站| 欧美一区国产二区| 久久九九全国免费精品观看| 国产日韩欧美一区二区三区在线观看 | 久久亚洲国产精品日日av夜夜| 亚洲欧美日韩国产一区| 欧美日韩亚洲高清一区二区| 亚洲人精品午夜| 在线一区二区视频| 欧美日韩国产综合视频在线观看中文| 亚洲国产成人在线| 在线视频成人| 欧美国产欧美综合 | 亚洲一区二区三区欧美| 中文成人激情娱乐网| 午夜日本精品| 欧美不卡视频一区| 亚洲第一视频| 欧美国产欧美综合| 9久re热视频在线精品| 亚洲一区在线观看视频| 国产乱码精品一区二区三| 欧美日韩一区二区三区在线看 | 久久夜色精品一区| 欧美成人午夜剧场免费观看| 亚洲高清免费视频| 欧美sm视频| 99热精品在线| 久久激情综合网| 亚洲国产美国国产综合一区二区| 欧美成黄导航| 亚洲视频在线观看网站| 久久九九精品| 日韩亚洲欧美一区| 国产伦精品免费视频| 久久理论片午夜琪琪电影网| 欧美激情一区二区| 亚洲欧美日韩精品久久亚洲区| 国产亚洲精品成人av久久ww| 久久全国免费视频| 一本色道久久88综合日韩精品 | 国产精品日本欧美一区二区三区| 亚洲自拍电影| 欧美黄色aa电影| 在线亚洲免费视频| 亚洲视频在线一区| 亚洲少妇诱惑| 欧美xxxx在线观看| 欧美亚洲免费高清在线观看| 欧美精品久久久久久久免费观看| 久久综合久色欧美综合狠狠| 在线播放日韩| 亚洲激情小视频| 亚洲精品国产精品国自产在线| 美女国产精品| 欧美国产日本韩| 亚洲天堂av高清| 欧美多人爱爱视频网站| 亚洲精品欧洲| 欧美大胆a视频| 久久精品免费看| 亚洲欧美国产日韩天堂区| 亚洲片在线观看| 黄色综合网站| 国产一二精品视频| 国产精品入口福利| 欧美日韩另类字幕中文| 欧美日韩精品在线播放|