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

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ù)用來比較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è)字符。也就是說,如果字符串s1與s2的前size個(gè)字符相同,函數(shù)返回值為0。

功能比較:

     二者都可以用于字符串的比較,但是二者是有比較大的差異的,因?yàn)閟trcmp是按照字節(jié)(byte-wise)比較的,并且比較的過程中會(huì)檢查是否出現(xiàn)了"\0"結(jié)束符,一旦任意一個(gè)字符串指針前進(jìn)過程中遇到結(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來完成。這些“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,也就是說一旦str中前兩個(gè)字符為0x8010就返回0,表示相同了,顯然這是不正確的!此時(shí)應(yīng)該使用memcmp(str,"\x80\x10\x00\x01",4),這樣一來就達(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 閱讀(1887) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(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>
            亚洲精品视频在线看| 99日韩精品| 欧美va天堂| 亚洲永久字幕| 欧美少妇一区二区| 亚洲精品乱码久久久久久| 久久免费高清视频| 欧美一级播放| 国产视频亚洲| 久久久久综合| 久久九九国产精品| 精品99一区二区| 久久精品一区二区三区四区| 亚洲欧美美女| 国产亚洲精品福利| 久久久久网址| 久久日韩精品| 亚洲人成在线观看| 亚洲日韩成人| 欧美成人69| 亚洲乱码久久| 一本色道久久综合亚洲91| 欧美成人午夜激情在线| 久久久精品国产一区二区三区| 国产日韩精品在线播放| 欧美在线一级va免费观看| 香港久久久电影| 激情另类综合| 亚洲第一狼人社区| 欧美日本亚洲| 午夜日韩在线观看| 久久精品成人一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 久热爱精品视频线路一| 亚洲成人在线观看视频| 亚洲电影第三页| 欧美日韩国语| 欧美一区亚洲一区| 久久免费高清| 日韩一二在线观看| 亚洲欧美国产不卡| 在线日韩欧美| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 一区二区三区成人精品| 国产精品免费区二区三区观看| 久久电影一区| 欧美jizzhd精品欧美巨大免费| 亚洲一区二区三区在线看| 欧美一区二区三区在线免费观看| 伊人久久婷婷色综合98网| 亚洲激精日韩激精欧美精品| 国产精品久久久久久一区二区三区| 久久久夜精品| 国产精品高潮粉嫩av| 欧美91大片| 国产美女精品一区二区三区| 欧美国产激情二区三区| 欧美日本中文字幕| 韩国成人理伦片免费播放| 亚洲国产日韩欧美一区二区三区| 国产精品电影观看| 欧美国产日本| 国产色综合久久| 亚洲日本免费电影| 在线成人国产| 久久精品国产欧美激情| 免费一级欧美片在线观看| 午夜激情一区| 欧美剧在线免费观看网站| 久久精品一二三区| 欧美日韩精品一区二区三区四区 | 欧美中日韩免费视频| 久久久亚洲高清| 久久国产视频网| 亚洲欧美日韩网| 日韩视频在线观看免费| 极品中文字幕一区| 激情综合色综合久久| 黄色资源网久久资源365| 韩国三级在线一区| 国产日韩专区在线| 国产午夜精品在线| 黑人操亚洲美女惩罚| 亚洲第一毛片| 9人人澡人人爽人人精品| 正在播放亚洲| 亚洲一区二区黄色| 久久九九99视频| 免费成人小视频| 亚洲精选国产| 久久久国产亚洲精品| 欧美日韩精品免费观看| 国产视频在线一区二区| 亚洲国产精品嫩草影院| 亚洲在线观看| 狼人天天伊人久久| 欧美日韩国产成人高清视频| 国产乱码精品| 亚洲最新在线| 久久久国产精品一区二区中文| 亚洲成人自拍视频| 最新日韩av| 老司机免费视频一区二区三区| 国产精品xxx在线观看www| 国产视频在线观看一区二区三区 | 欧美自拍丝袜亚洲| 蜜桃av一区二区在线观看| 国产精品人人做人人爽人人添| 激情五月婷婷综合| 亚洲欧美经典视频| 亚洲七七久久综合桃花剧情介绍| 午夜精品久久| 国产精品毛片在线看| 亚洲私人影院在线观看| 欧美激情在线狂野欧美精品| 久久色在线观看| 亚洲高清在线视频| 亚洲国产精彩中文乱码av在线播放| 亚洲一区精品视频| 国产精品视频观看| 久久精品欧美| 久久综合电影| 日韩午夜一区| 日韩一级片网址| 国产精品mm| 久久国产精彩视频| 蜜臀久久久99精品久久久久久| 亚洲国产日韩美| 一区二区三区久久网| 国产在线不卡视频| 欧美激情精品久久久久久免费印度| 老司机午夜精品视频| 亚洲综合电影一区二区三区| 亚洲欧美成人在线| 亚洲精品一区二区三区四区高清 | 亚洲狼人精品一区二区三区| 国产精品高清在线观看| 久久一二三四| 国产精品美女久久久| 免费日韩av片| 国产精品视频免费一区| 亚洲电影在线看| 国产一区二区精品丝袜| 日韩视频在线一区| 亚洲国产mv| 久久成人一区二区| 欧美一区二区免费| 欧美精品二区| 亚洲国产精品女人久久久| 国户精品久久久久久久久久久不卡 | 午夜精品美女久久久久av福利| 亚洲高清不卡一区| 亚洲欧美日韩成人| 欧美在线91| 国产精品免费看| 亚洲在线网站| 欧美在线免费| 国内不卡一区二区三区| 一区二区三区四区五区精品视频| 一级成人国产| 欧美偷拍一区二区| 性欧美video另类hd性玩具| 快播亚洲色图| 亚洲第一天堂无码专区| 欧美二区乱c少妇| 日韩视频免费大全中文字幕| 亚洲视屏在线播放| 国产日韩精品久久| 久久国产精品久久国产精品| 欧美高清在线观看| 一区二区三区国产在线| 国产精品夜夜夜| 久久精品在线免费观看| 欧美黄在线观看| 亚洲一区久久| 亚洲二区视频| 国产精品一区二区在线观看| 久久久精品日韩| 亚洲欧洲一区二区在线播放| 亚洲一区欧美二区| 亚洲国产精品第一区二区| 欧美亚男人的天堂| 久久久欧美精品sm网站| 一本色道久久88综合亚洲精品ⅰ | 久久先锋影音| 亚洲欧美国内爽妇网| 亚洲国产精品成人va在线观看| 性欧美8khd高清极品| 亚洲国产精品专区久久| 国产欧美精品在线| 欧美性色视频在线| 欧美精品久久久久a| 久久综合狠狠综合久久激情| 午夜激情久久久| 一本色道久久综合一区| 91久久国产自产拍夜夜嗨| 国产一区二区日韩精品欧美精品 | 欧美精品在线播放| 久久久www成人免费精品| 欧美一区高清|