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

            『站在風口浪尖緊握住鼠標旋轉!』 http://www.cnblogs.com/twzheng

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

            關于strcpy()與memcpy()比較

            舉例:

            {

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

            byte c1[4];

            byte c2[4];

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

            strcpy((char*)(byte*)c2, (char*)(byte*)a);//錯誤調用

            }

            函數(shù)原型

               strcpy

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

               #include <string.h>

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

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

               返回指向dest的指針



              memcpy

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

              #include <string.h>

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

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

             

            關于memcpy的用法

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

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

            例:  

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

            posted on 2007-06-13 20:57 譚文政 閱讀(2107) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            国内精品久久久久影院免费| 国产成人精品久久亚洲| 久久笫一福利免费导航| yy6080久久| 国产亚洲综合久久系列| 一本大道久久a久久精品综合| 久久www免费人成精品香蕉| 久久精品免费一区二区| 国产精品久久久久天天影视| 亚洲午夜久久影院| 亚洲中文字幕无码久久综合网| 国产精品久久久久影院色| 国内高清久久久久久| 久久久国产精华液| 色偷偷88888欧美精品久久久| 国产伊人久久| 精品国产91久久久久久久| 欧美亚洲国产精品久久| 日本免费久久久久久久网站| 久久综合噜噜激激的五月天| 思思久久99热免费精品6| 亚洲乱亚洲乱淫久久| 精品国际久久久久999波多野| 一本久道久久综合狠狠躁AV| 日本免费久久久久久久网站| 久久久久亚洲av无码专区喷水| 久久综合九色综合欧美就去吻| 色综合久久天天综合| 久久国产免费观看精品| 久久综合噜噜激激的五月天| 伊人久久精品无码av一区| 亚洲国产成人乱码精品女人久久久不卡| 老司机国内精品久久久久| 国产精品久久久久AV福利动漫| 亚洲伊人久久大香线蕉综合图片| 久久99精品免费一区二区| 国产99久久久国产精品~~牛| 久久久久综合网久久| 88久久精品无码一区二区毛片| 久久亚洲高清观看| 伊人久久大香线焦综合四虎|