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

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            strlcpy 和 strlcat 源碼

            來源于OpenBSD的代碼.

            strlcpy.cpp
            size_t strlcpy( char *dst, const char *src, size_t siz )
            {
                
            char*            d = dst;
                
            const char*        s = src;
                size_t            n 
            = siz;

                
            if (s == 0 || d == 0return 0;

                
            /* Copy as many bytes as will fit */
                
            if (n != 0 && --!= 0)
                
            {
                    
            do
                    
            {
                        
            if ((*d++ = *s++== 0)
                            
            break;
                    }
             while (--!= 0);
                }


                
            /* Not enough room in dst, add NUL and traverse rest of src */
                
            if (n == 0)
                
            {
                    
            if (siz != 0)
                        
            *= '\0';                /* NUL-terminate dst */
                    
            while (*s++)
                        ;
                }


                
            return(s - src - 1);        /* count does not include NUL */
            }


            strlcat.cpp
            size_t strlcat( char* dst, const char* src, size_t siz )
            {
                
            char*        d = dst;
                
            const char*    s = src;
                size_t        n 
            = siz;
                size_t        dlen;

                
            if (s == 0 || d == 0return 0;

                
            while (n-- != 0 && *!= '\0')
                
            {
                    d
            ++;
                }

                dlen 
            = d - dst;
                n 
            = siz - dlen;

                
            if (n == 0)
                
            {
                    
            return(dlen + strlen(s));
                }

                
            while (*!= '\0')
                
            {
                    
            if (n != 1)
                    
            {
                        
            *d++ = *s;
                        n
            --;
                    }

                    s
            ++;
                }

                
            *= '\0';

                
            return(dlen + (s - src));
            }


            略作了修改,增加了對空指針的判斷.

            posted on 2009-10-08 10:21 楊粼波 閱讀(2830) 評論(1)  編輯 收藏 引用

            評論

            # re: strlcpy 和 strlcat 源碼 2010-12-06 16:29 太極美術工程師師長

            非常感謝。  回復  更多評論   

            日本道色综合久久影院| 久久综合一区二区无码| 精品久久久无码21p发布| 久久久亚洲AV波多野结衣| 亚洲精品无码久久久久去q| 国内精品久久久久影院日本| 久久99毛片免费观看不卡 | 久久精品亚洲中文字幕无码麻豆| 无码人妻久久一区二区三区免费丨 | 亚洲AV无一区二区三区久久| 久久96国产精品久久久| 久久久国产视频| 欧美精品一区二区精品久久| 狠狠综合久久综合88亚洲| 久久r热这里有精品视频| 亚洲国产精品无码久久九九| 久久精品国产69国产精品亚洲| 成人综合久久精品色婷婷| 婷婷综合久久狠狠色99h| 浪潮AV色综合久久天堂| 亚洲精品乱码久久久久久不卡| 国产精品久久国产精麻豆99网站| 麻豆精品久久久久久久99蜜桃| 国产日产久久高清欧美一区| 亚洲精品乱码久久久久久久久久久久 | 人妻少妇久久中文字幕| 欧美久久亚洲精品| 国产成人精品久久一区二区三区av| 无码久久精品国产亚洲Av影片| 久久伊人精品一区二区三区| 日韩中文久久| 思思久久99热只有频精品66| 99久久国产亚洲高清观看2024 | 精品久久久久久无码人妻热| 97热久久免费频精品99| 久久精品中文字幕无码绿巨人| 日韩va亚洲va欧美va久久| 伊人久久大香线蕉无码麻豆| 怡红院日本一道日本久久| 久久综合久久久| 久久精品国产99久久久香蕉|