• <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>

            mysql字符串轉(zhuǎn)義函數(shù)

            Posted on 2011-10-17 11:43 冷鋒 閱讀(3911) 評(píng)論(3)  編輯 收藏 引用 所屬分類: linux
            在mysql插入數(shù)據(jù)表,如果數(shù)據(jù)中帶有'\“會(huì)造成語(yǔ)法錯(cuò)誤,這個(gè)不用解釋,你懂的,因此需要寫個(gè)轉(zhuǎn)義函數(shù),一開始想直接用string的replace,但是這個(gè)方法要調(diào)用3次
            放在服務(wù)端感覺(jué)效率太低了,于是用C寫了個(gè),感覺(jué)還可以,時(shí)間復(fù)雜度跟需要轉(zhuǎn)義字符的個(gè)數(shù)無(wú)關(guān),如果源串沒(méi)有匹配的話不需要copy操作.
            //轉(zhuǎn)義函數(shù),‘轉(zhuǎn)成\'
            bool ConverToDBStr( const char* src,char*dst )
            {
                
            int i = -1;//記錄上次匹配的位置
                int dOffset = 0;//目標(biāo)字符串游標(biāo)
                int nCopy = 0;//本次需要成 copy的字節(jié)數(shù)
                const char*= src;
                
            while*p )
                {
                    
            if*p=='\\'||*p=='\''||*p=='"' )
                    {
                        nCopy 
            = p-src-i-1;
                        memcpy( dst
            +dOffset,src+i+1,nCopy );
                        dOffset
            +=nCopy;
                        
            *(dst+Offset)='\\';
                        
            *(dst+dOffset+1)=*p;
                        dOffset
            +=2;
                        i 
            = p-src;
                    }
                    p
            ++;
                }
                
            if( dOffset>0 )//有匹配到,copy最后的字符串
                {
                    memcpy( dst
            +dOffset,src+i+1,p-src-i );
                    
            return true;
                }
                
            return false;
            }
            可以看到,這個(gè)函數(shù)稍微改動(dòng)下就可以實(shí)現(xiàn)replace

            Feedback

            # re: mysql字符串轉(zhuǎn)義函數(shù)  回復(fù)  更多評(píng)論   

            2011-10-18 22:06 by Glueless full lace wigs for black women
            不錯(cuò),比php的效率要高多了

            # re: mysql字符串轉(zhuǎn)義函數(shù)  回復(fù)  更多評(píng)論   

            2011-10-19 09:07 by zuhd
            不用mysql的逃脫函數(shù)?

            # re: mysql字符串轉(zhuǎn)義函數(shù)  回復(fù)  更多評(píng)論   

            2011-10-19 09:54 by 冷鋒
            剛發(fā)現(xiàn)有這種函數(shù),不過(guò)我是在應(yīng)用層做的,主要是要轉(zhuǎn)義文件名中的單引號(hào),覺(jué)得比較簡(jiǎn)單,就自己寫了個(gè)。@zuhd

            posts - 15, comments - 18, trackbacks - 0, articles - 0

            Copyright © 冷鋒

            九九精品久久久久久噜噜| 国内精品伊人久久久久妇| 亚洲精品久久久www| 成人午夜精品久久久久久久小说| 亚洲日本va中文字幕久久| 久久性生大片免费观看性| 久久精品无码一区二区三区| 亚洲国产精品无码久久一线| 亚洲成色www久久网站夜月| 伊人久久亚洲综合影院| 日韩欧美亚洲综合久久| 久久久www免费人成精品| 丁香色欲久久久久久综合网| 中文无码久久精品| 日本人妻丰满熟妇久久久久久 | 久久人妻少妇嫩草AV无码专区| 婷婷久久精品国产| 久久精品国产亚洲av麻豆图片| 伊人久久大香线蕉AV一区二区| 九九精品久久久久久噜噜| 无码人妻久久一区二区三区免费| 少妇久久久久久被弄高潮| 久久久av波多野一区二区| 狠狠色丁香婷婷综合久久来| 国产福利电影一区二区三区,免费久久久久久久精| 97久久精品无码一区二区| 国产福利电影一区二区三区久久久久成人精品综合 | 精品久久人人爽天天玩人人妻| 欧洲精品久久久av无码电影| 久久九九青青国产精品| 久久久久亚洲?V成人无码| 国内精品久久国产| 人妻丰满AV无码久久不卡| 久久国产精品99精品国产987| 狠狠色婷婷综合天天久久丁香| 久久午夜综合久久| 久久精品国产69国产精品亚洲| 国产香蕉97碰碰久久人人| 亚洲国产精品久久电影欧美| 久久本道综合久久伊人| 久久精品国产亚洲AV高清热|