<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JUST DO IT ~

    我只想當個程序員

    memcpy_s strncpy 目標緩沖區 小于 實際緩沖區

     

    目標緩沖區 小于 實際緩沖區

     

    char *name = "1234567890";
    char name2[6]={0};

    memcpy_s( name2 ,  sizeof(name2) ,  name, strlen(name));

    動態執行失敗 (DEBUG ASSERTION FAILED !) 運行庫和調試庫都會提示出錯.

     

    注意:    指針sizeof( 指針 ) = 4  

    strncpy(name2,name ,sizeof(name) );             打印name2  1234 

     

    strncpy(name2,name ,strlen(name) );            打印name2   123456IOIPNUUY

    優化這個語句,盡量拷貝內容

    strncpy(name2,name ,   strlen(name)>sizeof(name2)? sizeof(name2): strlen(name)   );

     

     

    目標緩沖區 小于 實際緩沖區

    strncpy(name2,name ,sizeof(name2)-1 );

    sizeof(name2)-1 ------------>讓最后一個name2字符留給\0 否則這個字符也被拷貝了.

     

     

     

    看一下LINUX下的兩個函數的源代碼,印象會更加深刻一些
    void * memcpy(void * dest,const void *src,size_t count)
    {
        char *tmp = (char *) dest, *s = (char *) src;
        while (count--)
            *tmp++ = *s++;
        return dest;
    }
    char * strcpy(char * dest,const char *src)
    {
        char *tmp = dest;
        while ((*dest++ = *src++) != '\0')
            /* nothing */;
        return tmp;
    }
    老實講,這兩個函數長得是很帥

     

     

    參考

    http://stackoverflow.com/questions/4593907/difference-between-strncpy-and-memcpy

     

    http://www.cppblog.com/Tim/archive/2011/04/02/143259.aspx

    posted on 2013-09-18 00:12 小高 閱讀(466) 評論(0)  編輯  收藏 所屬分類: C

    導航

    <2013年9月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(352)

    收藏夾(19)

    關注的blog

    手冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲永久无码3D动漫一区| 韩国免费一级成人毛片| 国产精品美女自在线观看免费| 亚洲欧洲日韩综合| 免费无码又爽又刺激网站| 久久久久亚洲AV无码专区桃色| 污网站在线观看免费| 亚洲国产V高清在线观看| 男男gvh肉在线观看免费| 亚洲XX00视频| 国产成人无码区免费内射一片色欲| 亚洲偷自拍拍综合网| 中国内地毛片免费高清| 亚洲精品高清无码视频| 色欲色香天天天综合网站免费| 色拍自拍亚洲综合图区| 精品福利一区二区三区免费视频 | 免费午夜爽爽爽WWW视频十八禁| 亚洲经典千人经典日产| 国产精品高清全国免费观看| 老司机午夜在线视频免费观| 亚洲最大av无码网址| 久久成人无码国产免费播放| 亚洲色图古典武侠| 日韩电影免费在线观看视频| 深夜a级毛片免费无码| 亚洲无人区一区二区三区| 久久久久久AV无码免费网站下载| 亚洲性一级理论片在线观看| 永久免费看bbb| 一区二区三区视频免费观看| 亚洲尹人九九大色香蕉网站 | 啦啦啦在线免费视频| 黄色网址大全免费| 亚洲精品高清视频| 四色在线精品免费观看| 你懂得的在线观看免费视频| 中文字幕在线观看亚洲视频| 亚洲国产高清在线一区二区三区| 免费看男人j放进女人j免费看| 亚洲av无码电影网|