在C語言中,并沒有內(nèi)置的string
類型,但我們可以使用字符數(shù)組來模擬字符串的操作。對(duì)于字符串比較,C語言提供了一些函數(shù),其中最常用的是strcmp
函數(shù)。
strcmp
函數(shù)的原型如下:
int strcmp(const char *s1, const char *s2);
該函數(shù)接收兩個(gè)常量字符指針s1
和s2
作為參數(shù),分別指向兩個(gè)字符串。函數(shù)會(huì)比較這兩個(gè)字符串的字典順序,并返回一個(gè)整數(shù)值。如果s1
和s2
相等,則返回0;如果s1
在字典順序上位于s2
之前,則返回一個(gè)負(fù)整數(shù);如果s1
在字典順序上位于s2
之后,則返回一個(gè)正整數(shù)。
除了strcmp
函數(shù)外,還有一些其他的字符串比較方法,例如:
strncmp
函數(shù)比較字符串的前n個(gè)字符:int strncmp(const char *s1, const char *s2, size_t n);
該函數(shù)接收兩個(gè)常量字符指針s1
和s2
以及一個(gè)size_t
類型的整數(shù)n
作為參數(shù)。它比較s1
和s2
的前n個(gè)字符,并返回與strcmp
函數(shù)相同的整數(shù)值。
2. 使用strcasecmp
函數(shù)比較兩個(gè)字符串,忽略大小寫:
int strcasecmp(const char *s1, const char *s2);
該函數(shù)接收兩個(gè)常量字符指針s1
和s2
作為參數(shù),并返回一個(gè)整數(shù)值,表示s1
和s2
在忽略大小寫的情況下的字典順序關(guān)系。
3. 使用strncasecmp
函數(shù)比較兩個(gè)字符串的前n個(gè)字符,忽略大小寫:
int strncasecmp(const char *s1, const char *s2, size_t n);
該函數(shù)接收兩個(gè)常量字符指針s1
和s2
以及一個(gè)size_t
類型的整數(shù)n
作為參數(shù)。它比較s1
和s2
的前n個(gè)字符,并返回與strcasecmp
函數(shù)相同的整數(shù)值。