怎樣判斷兩個字符串是否相等


聲明:文章來源http://sunwenhua168.blog.163.com/blog/static/622325532010064657128/

 

 

怎樣判斷兩個字符串是否相等  

2010-01-06 16:06:57|  分類: VC++|字號 訂閱

 
 

怎樣判斷兩個字符串是否相等

C語言提供了幾個標准庫函數,可以比較兩個字符串是否相同。以下是用strcmp()函數比較字符串的一個例子:

  

#include <stdio. h>

#include <string. h>

void main (void);

void main(void)

{

    char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;

    if (strcmp(str_1, str_2) == 0)

        printf("str_1 is equal to str_2. \n");

    else

        printf("str_1 is not equal to str_2. \n");

    if (strcmp(str_1, str_3) == 0)

       printf("str_1 is equal to str_3.\n");

    else

        printf("str_1 is not equalto str_3.\n");

}

    

    上例的打印輸出如下所示:   

    str_1 is equal to str_2.   

    str_1 is not equal to str_3.

   

    strcmp()函數有兩個參數,即要比較的兩個字符串。strcmp()函數對兩個字符串進行大小

寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,並返回下列值之一:

----------------------------------------------------

    返  回  值         意  義

----------------------------------------------------

    <0               第一個字符串小於第二個字符串

     0               兩個字符串相等    ·

    >0               第一個字符串大於第二個字符串

----------------------------------------------------

    在上例中,當比較str_1(即“abc”)和str_2(即“abc”)時,strcmp()函數的返回值為0。然

而,當比較str_1(即"abc")和str_3(即"ABC")時,strcmp()函數返回一個大於0的值,因為按

ASCII順序字符串“ABC”小於“abc”。

    strcmp()函數有許多變體,它們的基本功能是相同的,都是比較兩個字符串,但其它地方

稍有差別。下表列出了C語言提供的與strcmp()函數類似的一些函數:   

-----------------------------------------------------------------

    函  數  名                   作  用

-----------------------------------------------------------------

    strcmp()         對兩個字符串進行大小寫敏感的比較

    strcmpi()        對兩個字符串進行大小寫不敏感的比較

    stricmp()        同strcmpi()

    strncmp()        對兩個字符串的一部分進行大小寫敏感的比較

    strnicmp()       對兩個字符串的一部分進行大小寫不敏感的比較

-----------------------------------------------------------------

    在前面的例子中,如果用strcmpi()函數代替strcmp()函數,則程序將認為字符串“ABC”

等於“abc”。

 

 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM