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

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>
            一区在线视频| 亚洲在线播放| 精品1区2区3区4区| 国产精品美女在线观看| 开元免费观看欧美电视剧网站| 亚洲一区久久| 久久久久久一区| 久久久午夜视频| 久久综合色天天久久综合图片| 亚洲在线一区二区| 久久久人成影片一区二区三区| 久久xxxx| 欧美国产日韩一二三区| 美女91精品| 欧美日韩三级电影在线| 国产精品高清免费在线观看| 国产一区二区成人| 亚洲国产日日夜夜| 亚洲午夜精品一区二区三区他趣| 亚洲欧美日韩综合一区| 裸体一区二区三区| 亚洲视频免费在线| 欧美激情小视频| 国产乱子伦一区二区三区国色天香| 韩国三级电影一区二区| 亚洲视频在线二区| 亚洲大片免费看| 亚洲尤物精选| 国产精品成人一区二区| 亚洲激情成人在线| 欧美激情乱人伦| 久久久亚洲欧洲日产国码αv| 欧美色网一区二区| 一区二区三区免费网站| 影音先锋日韩资源| 欧美一区二区在线观看| 亚洲美女一区| 国产精品每日更新在线播放网址| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲一区二区动漫| 欧美国产先锋| 一区二区三区精密机械公司| 久久久久久久久一区二区| 亚洲无限av看| 国产性天天综合网| 裸体一区二区| 欧美女同在线视频| 亚洲深夜av| 亚洲免费一区二区| 在线看一区二区| 亚洲免费高清| 韩国v欧美v日本v亚洲v| 欧美黄在线观看| 国产日韩精品入口| 欧美电影打屁股sp| 国产精品久久久一区二区三区| 欧美伊人影院| 欧美大成色www永久网站婷| 亚洲一区三区视频在线观看| 久久免费视频网| 久久精品国产77777蜜臀| 亚洲精品在线视频| 亚洲视频网站在线观看| 精品福利电影| 午夜精品久久久久影视| 在线亚洲精品福利网址导航| 久久激情婷婷| 久久成人精品无人区| 欧美三级日本三级少妇99| 亚洲一区精品电影| 国内外成人在线视频| 亚洲欧美网站| 亚洲国产成人精品久久| 亚洲视频中文| 欧美精品在线免费| 国产精品夜色7777狼人 | 午夜日韩激情| 蜜臀va亚洲va欧美va天堂| 亚洲全部视频| 免费视频一区二区三区在线观看| 国产色产综合产在线视频| 牛人盗摄一区二区三区视频| 亚洲国产三级在线| 国产一本一道久久香蕉| 欧美午夜久久| 亚洲天堂av高清| 国产伦精品一区二区三区免费 | 久久爱www.| 久久免费99精品久久久久久| 黄色日韩网站视频| 免费高清在线一区| 亚洲欧美日韩国产综合| 在线免费观看日本欧美| 农夫在线精品视频免费观看| 欧美精品三级日韩久久| 亚洲片国产一区一级在线观看| 国产欧亚日韩视频| 久久久欧美一区二区| 亚洲色诱最新| 91久久精品久久国产性色也91| 一区二区福利| 一区二区亚洲欧洲国产日韩| 欧美成人黄色小视频| 午夜精品久久久久久久久| 亚洲电影自拍| 久久激情五月丁香伊人| 这里只有精品电影| 亚洲第一区色| 国产一区二区三区在线免费观看 | 亚洲综合国产精品| 免费在线看一区| 久久中文字幕一区| 亚洲综合电影| 午夜视频一区二区| 99视频精品全部免费在线| 亚洲国产成人av好男人在线观看| 国产精品香蕉在线观看| 国产精品一区二区a| 国产精自产拍久久久久久蜜| 欧美日本在线观看| 免费久久精品视频| 欧美成人激情在线| 欧美久久九九| 国产精品av久久久久久麻豆网| 欧美午夜www高清视频| 国产精品福利久久久| 国产一区二区在线观看免费播放 | 亚洲欧美日韩精品久久久久| 一区二区三区免费网站| 亚洲网站在线看| 欧美一区国产一区| 猛男gaygay欧美视频| 亚洲人成在线免费观看| 亚洲性人人天天夜夜摸| 久久亚洲不卡| 欧美视频一区二区三区四区| 国产麻豆综合| av不卡免费看| 欧美成人69av| 欧美在线观看日本一区| 欧美日韩91| 黄色精品网站| 欧美一区二区三区成人| 日韩视频免费观看高清完整版| 欧美一二三视频| 国产精品国产三级国产专区53| 在线观看不卡av| 久久成人一区| 亚洲影院免费观看| 国产精品人人做人人爽人人添| 亚洲日本欧美天堂| 亚洲大片av| 欧美片在线观看| 一区二区三区四区国产| 久久久久久久久久久成人| 国产精品婷婷| 99精品视频一区| 国产精品久久国产精麻豆99网站| 日韩一区二区免费高清| 日韩一级精品视频在线观看| 欧美三日本三级三级在线播放| 一区二区三区精品国产| 亚洲图片自拍偷拍| 国内一区二区在线视频观看| 欧美aa在线视频| 欧美日韩精品伦理作品在线免费观看| 这里只有视频精品| 一区二区三区视频在线播放| 亚洲激情欧美| 国产精品视频一二| 欧美大片免费| 性欧美1819性猛交| 麻豆乱码国产一区二区三区| 免费观看国产成人| 欧美日韩精品系列| 亚洲国产日韩综合一区| 亚洲欧美综合一区| 在线一区观看| 欧美日韩精品在线播放| 国产视频一区免费看| 一区二区三区产品免费精品久久75 | 另类激情亚洲| 久久综合中文| 日韩一区二区精品在线观看| 性伦欧美刺激片在线观看| 欧美午夜视频一区二区| 国产精品三上| 欧美高清在线播放| 小辣椒精品导航| 国产精品一区二区三区观看| 亚洲一品av免费观看| 午夜日本精品| 亚洲免费在线观看视频| 在线不卡中文字幕| 亚洲影院免费| 久久成人免费网| 亚洲精品一区二区在线| 久久精品视频免费观看| 久久久久久综合| 99re6这里只有精品视频在线观看|