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

            twzheng's cppblog

            『站在風(fēng)口浪尖緊握住鼠標(biāo)旋轉(zhuǎn)!』 http://www.cnblogs.com/twzheng

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              136 隨筆 :: 78 文章 :: 353 評(píng)論 :: 0 Trackbacks

            關(guān)于strcpy()與memcpy()比較

            舉例:

            {

            byte a[4];// 每一個(gè)字節(jié)賦數(shù)值類型

            byte c1[4];

            byte c2[4];

            memcpy(c1, a, sizeof(byte)*4); //正確使用

            strcpy((char*)(byte*)c2, (char*)(byte*)a);//錯(cuò)誤調(diào)用

            }

            函數(shù)原型

               strcpy

               extern char *strcpy(char *dest,char *src);

               #include <string.h>

               功能:把src所指由NULL結(jié)束的字符串復(fù)制到dest所指的數(shù)組中

               說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。

               返回指向dest的指針



              memcpy

              extern void *memcpy(void *dest,void *src,unsigned int count);

              #include <string.h>

               功能:由src所指內(nèi)存區(qū)域復(fù)制count個(gè)字符串到dest所指內(nèi)存區(qū)域.

               說(shuō)明:src和dest所指內(nèi)存區(qū)域不能重疊,函數(shù)返回指向dest的指針.函數(shù)原型

             

            關(guān)于memcpy的用法

            作用:在dest處拷貝src處的字節(jié),并以count來(lái)計(jì)算需要拷貝的字節(jié)數(shù)量,進(jìn)行內(nèi)存的拷貝。

            參數(shù): dest:新的存貯區(qū)的開始部位   src:需要拷貝的開始部位    count:需要拷貝的字節(jié)數(shù)備注:dest,src,它們都是從各自的地址處進(jìn)行寫入,如果是p而不是&p,那么獎(jiǎng)會(huì)取得p的值(地址),在該值的地址處進(jìn)行讀出或?qū)懭搿?/span>

            例:  

            int* intPoint = new int(3333);  

            int* intPoint1;  

            //在intPoint1的地址處寫入intPoint地址處的值,也就是intPoint指針值。 

            memcpy( &intPoint1, &intPoint, 4 );

            //使intPoint1指向了intPoint. 或   int* intPoint = new int(3333);

            cout << *intPoint1 << endl;

            可以看出 strcpy() 是處理的字符串(遇零結(jié)束),memcpy() 是處理一個(gè)緩沖區(qū)(void*類型的),而我們的內(nèi)容中有數(shù)字0,而數(shù)字0又是字符串的結(jié)尾字符 ' \0' 的數(shù)字表現(xiàn),字符串拷貝是遇到0就結(jié)束,所以,如果要拷貝的緩沖區(qū)如果是非字符串那么就盡量用memcpy(),這樣可以避免出錯(cuò)的可能。

            posted on 2007-06-13 20:57 譚文政 閱讀(2099) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            93精91精品国产综合久久香蕉 | 国内高清久久久久久| 26uuu久久五月天| 久久精品无码av| 香蕉99久久国产综合精品宅男自 | 亚洲精品高清国产一久久| 久久国产精品国语对白| 亚洲香蕉网久久综合影视 | 人妻中文久久久久| 影音先锋女人AV鲁色资源网久久| 99久久综合国产精品免费| 久久久久久精品无码人妻| 久久综合综合久久97色| 国内精品久久久久影院亚洲| 久久精品国产久精国产思思 | 奇米影视7777久久精品人人爽| AV狠狠色丁香婷婷综合久久| 久久久久久av无码免费看大片| 久久国产精品久久国产精品| 色欲综合久久躁天天躁| 婷婷久久久亚洲欧洲日产国码AV| 亚洲午夜久久影院| 中文字幕热久久久久久久| 久久久久国产| 99久久精品国内| 欧美亚洲国产精品久久高清| 欧洲精品久久久av无码电影| 色综合久久中文综合网| 国内精品人妻无码久久久影院| 国产高清美女一级a毛片久久w| 亚洲∧v久久久无码精品| 久久亚洲色一区二区三区| 久久国产乱子伦免费精品| 亚洲中文字幕无码久久综合网| 国产一区二区久久久| 日本加勒比久久精品| 久久黄色视频| 武侠古典久久婷婷狼人伊人| 亚洲人成网站999久久久综合 | 成人久久精品一区二区三区| 久久亚洲欧美国产精品|