• <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) 評論(3)  編輯 收藏 引用 所屬分類: linux
            在mysql插入數(shù)據(jù)表,如果數(shù)據(jù)中帶有'\“會(huì)造成語法錯(cuò)誤,這個(gè)不用解釋,你懂的,因此需要寫個(gè)轉(zhuǎn)義函數(shù),一開始想直接用string的replace,但是這個(gè)方法要調(diào)用3次
            放在服務(wù)端感覺效率太低了,于是用C寫了個(gè),感覺還可以,時(shí)間復(fù)雜度跟需要轉(zhuǎn)義字符的個(gè)數(shù)無關(guān),如果源串沒有匹配的話不需要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ù)  更多評論   

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

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

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

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

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

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

            Copyright © 冷鋒

            一本综合久久国产二区| 久久亚洲欧美日本精品| 国产精品成人久久久| 久久精品国产日本波多野结衣| 久久成人国产精品免费软件| 欧美一区二区三区久久综| 精品乱码久久久久久久| 国产精品热久久无码av| 区久久AAA片69亚洲| 国产精品久久国产精麻豆99网站| 久久久久久久久久久免费精品| 亚洲乱码中文字幕久久孕妇黑人| 久久综合丁香激情久久| 国产亚洲精品久久久久秋霞 | 久久综合国产乱子伦精品免费| 久久午夜电影网| 亚洲国产一成人久久精品| 久久国产视屏| 青青青国产成人久久111网站| 7777久久久国产精品消防器材| 久久www免费人成看国产片| 久久久久亚洲AV无码永不| 亚洲国产成人久久综合碰| 色综合久久88色综合天天| 99久久精品午夜一区二区| 7777精品久久久大香线蕉| 亚洲精品NV久久久久久久久久| 91久久福利国产成人精品| 777米奇久久最新地址| 亚洲香蕉网久久综合影视| 久久人人爽人人人人片av| 久久精品综合网| 久久强奷乱码老熟女网站| 亚洲日本va午夜中文字幕久久| 日韩中文久久| 亚洲精品综合久久| 久久人人添人人爽添人人片牛牛| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久无码一区二区三区少妇| 久久国产精品一区| 热RE99久久精品国产66热|