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

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            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 楊粼波 閱讀(2835) 評論(1)  編輯 收藏 引用

            評論

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

            非常感謝。  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久青青国产| 精品无码人妻久久久久久| 久久毛片一区二区| 伊人久久成人成综合网222| 久久综合狠狠综合久久综合88| 97久久久精品综合88久久| 精品久久久久久无码人妻热| 99久久精品免费看国产一区二区三区 | 亚洲国产天堂久久久久久| 久久人人爽爽爽人久久久| 国产精品无码久久综合网| 亚洲综合精品香蕉久久网| 久久久久无码专区亚洲av| 99久久99这里只有免费费精品 | 色婷婷久久综合中文久久蜜桃av| 成人亚洲欧美久久久久| 男女久久久国产一区二区三区| 久久久久亚洲AV成人网人人软件| 亚洲国产精品成人久久| 亚洲国产成人精品久久久国产成人一区二区三区综 | 激情五月综合综合久久69| 99久久精品国产麻豆| 久久久无码精品亚洲日韩蜜臀浪潮 | 精品免费久久久久久久| 久久久精品国产免大香伊 | 99久久99久久精品国产片| avtt天堂网久久精品| 日产精品久久久久久久| 热re99久久6国产精品免费| 亚洲精品综合久久| 亚洲欧美另类日本久久国产真实乱对白| 久久亚洲国产中v天仙www| 久久久久一区二区三区| 精品九九久久国内精品| 国产精品久久亚洲不卡动漫| 精品久久一区二区三区| 久久青草国产手机看片福利盒子| 亚洲国产精品婷婷久久| 亚洲一区二区三区日本久久九| 精品久久久久久国产三级| 精品久久久一二三区|