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