青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
函數(shù):int memcmp (const void *a1, const void *a2, size_t size) 
       函數(shù)memcmp用于比較字符串s1與s2的前size個(gè)字符。
      如果兩上字符塊相同,memcmp將返回0。

函數(shù):int strcmp (const char *s1, const char *s2) 
        這個(gè)函數(shù)用來(lái)比較s1和s2字符串,這個(gè)函數(shù)將返回一個(gè)值,它的符號(hào)與第一對(duì)不同的字符的比較結(jié)果相關(guān)。
       如果兩個(gè)字符串相等的話,strcmp將返回0。
       如果s1是s2的一個(gè)子串的話,s1小于s2
此外還有函數(shù) 
    int strncmp (const char *s1, const char *s2, size_t size) 
    此函數(shù)與strcmp極為類似。不同之處是,strncmp函數(shù)是指定比較size個(gè)字符。也就是說(shuō),如果字符串s1與s2的前size個(gè)字符相同,函數(shù)返回值為0。

功能比較:

     二者都可以用于字符串的比較,但是二者是有比較大的差異的,因?yàn)閟trcmp是按照字節(jié)(byte-wise)比較的,并且比較的過(guò)程中會(huì)檢查是否出現(xiàn)了"\0"結(jié)束符,一旦任意一個(gè)字符串指針前進(jìn)過(guò)程中遇到結(jié)束符,將終止比較。而memcmp函數(shù)是用于比較兩個(gè)內(nèi)存塊的內(nèi)容是否相等,在用于字符串比較時(shí)通常用于測(cè)試字符串是否相等,不常進(jìn)行byte-wise的字符串比較。如果要比較的對(duì)象中包含一些由于邊界對(duì)齊需求而填入結(jié)構(gòu)對(duì)象中的空格、聯(lián)合 (union)結(jié)束的額外空格、字符串所分配的空間未使用完的部分引起的“holes”的話,最好使用memcmp來(lái)完成。這些“holes”的內(nèi)容是不確定的,在執(zhí)行byte-wise比較時(shí)結(jié)果也是不明確的。

效率差異:
     strcmp比較的字符串,而memcmp比較的是內(nèi)存塊,strcmp需要時(shí)刻檢查是否遇到了字符串結(jié)束的 \0 字符,而memcmp則完全不用擔(dān)心這個(gè)問題,所以memcmp的效率要高于strcmp

使用示例:

給出一個(gè)如下的結(jié)構(gòu)定義:
struct foo
  {
    unsigned char tag;
    union
       {
         double f;
        long i;
          char *p;
       } value;
  };
      如果要比較兩個(gè)struct foo對(duì)象的話,建議最好使用memcmp。
     在給出一個(gè)字符串比較的例子,判斷字符串str中前四個(gè)中字符是否為 0x80100001,因?yàn)?x00對(duì)于字符串而言,這是個(gè)結(jié)束符,如果使用strncmp的話strncmp(str,"\x80\x10\x00 \x01",4)的話,實(shí)際效果是只判斷了是否含有0x8010,也就是說(shuō)一旦str中前兩個(gè)字符為0x8010就返回0,表示相同了,顯然這是不正確的!此時(shí)應(yīng)該使用memcmp(str,"\x80\x10\x00\x01",4),這樣一來(lái)就達(dá)到了目的

 附:strcmp,strncmp,memcmp的Linux的源代碼

/**
 * strcmp - Compare two strings
 * @cs: One string
 * @ct: Another string
 */
int strcmp(const char *cs, const char *ct)
{
        signed char __res;

        while (1) {
                if ((__res = *cs - *ct++) != 0 || !*cs++)
                        break;
        }
        return __res;
}

 /**
 * strncmp - Compare two length-limited strings
 * @cs: One string
 * @ct: Another string
 * @count: The maximum number of bytes to compare
 */
int strncmp(const char *cs, const char *ct, size_t count)
{
        signed char __res = 0;

        while (count) {
                if ((__res = *cs - *ct++) != 0 || !*cs++)                  //比較到結(jié)束符\0,時(shí),已經(jīng)做了__res = *cs - *ct了,所以不等長(zhǎng)度時(shí),肯定返回不為0
                        break;
                count--;
        }
        return __res;
}
/**
 * memcmp - Compare two areas of memory
 * @cs: One area of memory
 * @ct: Another area of memory
 * @count: The size of the area.
 */
int memcmp(const void *cs, const void *ct, size_t count)
{
        const unsigned char *su1, *su2;
        int res = 0;
        for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
                if ((res = *su1 - *su2) != 0)
                        break;
        return res;
}

轉(zhuǎn)自:

http://blog.chinaunix.net/u2/67780/showart_2079171.html


posted on 2009-11-24 12:04 chatler 閱讀(1885) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            精品69视频一区二区三区| 黄色成人片子| 欧美 日韩 国产在线| 国产精品久久久久77777| 免费人成精品欧美精品| 国产精品五月天| 亚洲人成在线观看| 在线免费精品视频| 欧美亚洲在线观看| 午夜精品久久一牛影视| 欧美精品三级日韩久久| 老司机精品福利视频| 国产精品黄页免费高清在线观看| 亚洲国产导航| 亚洲第一精品电影| 亚洲网在线观看| 亚洲你懂的在线视频| 国产一区二区三区久久精品| 老**午夜毛片一区二区三区| 欧美成va人片在线观看| 一区二区三区欧美视频| 亚洲女爱视频在线| 亚洲激情一区二区| 在线一区二区三区四区五区| 国产亚洲欧美一区二区三区| 亚洲电影毛片| 欧美激情黄色片| 欧美激情综合| 日韩视频在线免费观看| 欧美紧缚bdsm在线视频| 亚洲黄色一区| 亚洲色图综合久久| 国产精品久久久久久超碰| 亚洲午夜激情在线| 欧美一区二区三区视频免费播放| 国产精品普通话对白| 午夜精品福利视频| 久久久国产精彩视频美女艺术照福利| 国产手机视频一区二区| 久久精品99国产精品| 麻豆视频一区二区| 亚洲精品久久久久久久久久久| 美女主播视频一区| 99精品久久久| 久久亚洲美女| 久久久视频精品| 国产精品久久久久久久午夜片| 欧美成人情趣视频| 很黄很黄激情成人| 香蕉精品999视频一区二区| 一区二区三区久久网| 免费成人网www| 久久乐国产精品| 国产欧美精品一区二区三区介绍| 亚洲经典视频在线观看| 亚洲成人在线免费| 久久狠狠亚洲综合| 久久国产手机看片| 国产精品入口尤物| 一本色道婷婷久久欧美| 亚洲日韩欧美视频一区| 免费在线亚洲| 欧美国产精品日韩| 亚洲高清成人| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久久久网址| 国内精品久久久久久久果冻传媒 | 亚洲精品乱码久久久久久蜜桃麻豆| 午夜视频在线观看一区二区三区| 亚洲一二三区精品| 欧美视频中文字幕在线| 亚洲午夜视频在线观看| 香蕉成人久久| 国产一区亚洲一区| 久热精品在线| 亚洲激情电影中文字幕| 亚洲毛片视频| 欧美日产在线观看| 中文在线资源观看网站视频免费不卡| 亚洲人成网站影音先锋播放| 亚洲大胆在线| 亚洲少妇诱惑| 欧美日韩成人一区二区三区| 久久国产精品久久国产精品 | 最新国产成人av网站网址麻豆| 午夜久久久久久久久久一区二区| 国产欧美韩日| 欧美日韩综合| 欧美69视频| 欧美专区福利在线| av不卡免费看| 亚洲高清在线视频| 宅男噜噜噜66国产日韩在线观看| 在线观看欧美一区| 国产日韩精品综合网站| 欧美日韩一区二区在线| 久久综合久久综合久久| 亚洲欧美国产精品桃花 | 午夜精品视频在线观看| 在线中文字幕不卡| 亚洲精品免费网站| 国内激情久久| 国产精品日韩在线| 欧美三级午夜理伦三级中文幕 | 欧美一区二区大片| 亚洲免费在线看| 一区二区三区四区蜜桃| 亚洲国产精品va在线看黑人动漫| 猫咪成人在线观看| 久色婷婷小香蕉久久| 亚洲视频第一页| 亚洲一区图片| 亚洲小说区图片区| 中文一区二区在线观看| 亚洲人成网站色ww在线| 亚洲毛片一区| 在线亚洲欧美| 中文日韩电影网站| 一级日韩一区在线观看| 亚洲伦理网站| 精品不卡一区| 亚洲区第一页| 亚洲精品美女在线观看播放| 亚洲精品视频一区| 91久久中文| 亚洲精品偷拍| 日韩一级片网址| 销魂美女一区二区三区视频在线| 亚洲国产美女| 久久久久久久999| 亚洲一区精彩视频| 91久久精品国产91性色tv| 国产日本欧美一区二区| 久久久之久亚州精品露出| 亚洲精品国产精品久久清纯直播| av成人毛片| 亚洲欧美精品在线| 久久久久欧美| 欧美精品国产一区| 国产精品久久久久久久久久尿| 国产精品亚洲аv天堂网| 国产伦精品一区二区三| 黄色一区二区三区四区| 亚洲欧洲在线看| 亚洲第一区在线| 亚洲狼人精品一区二区三区| 欧美大香线蕉线伊人久久国产精品| 亚洲视频中文字幕| 中日韩高清电影网| 一区二区三区四区五区精品视频| 亚洲国产精品第一区二区三区| 久久字幕精品一区| 亚洲香蕉伊综合在人在线视看| 国内精品久久久久影院优| 一区二区亚洲精品| 激情五月婷婷综合| 精久久久久久| 一区二区三区在线观看欧美| 国模 一区 二区 三区| 在线日韩av| 在线精品视频一区二区| 在线观看国产欧美| 1024欧美极品| 亚洲日本一区二区三区| 91久久精品国产91性色| 亚洲视频欧洲视频| 性高湖久久久久久久久| 午夜精品在线观看| 欧美综合77777色婷婷| 中国成人黄色视屏| 久久国内精品视频| 免费观看一区| 亚洲黄网站在线观看| 亚洲人成高清| 亚洲男人第一av网站| 欧美在线观看视频一区二区| 久久国产精品亚洲va麻豆| 欧美成人黄色小视频| 91久久精品www人人做人人爽| 久久久久久久成人| 国产农村妇女精品| 宅男在线国产精品| 欧美激情在线免费观看| 久久九九热免费视频| 国产在线精品自拍| 亚洲欧美日韩精品久久奇米色影视| 欧美激情精品久久久久久免费印度 | 99精品视频免费观看视频| 麻豆国产精品777777在线 | 亚洲男人第一av网站| 欧美日韩一二三区| 99国产精品视频免费观看| 免费成人黄色av| 久久精品人人做人人爽| 韩曰欧美视频免费观看| 久久国产一区二区| 香蕉成人伊视频在线观看| 国产精品美女久久久| 亚洲一区二区黄色| 一区二区91|