strcasecmp
是一个 C 语言库函数,用于比较两个字符串,忽略大小写差异
以下是 strcasecmp
函数的原型:
int strcasecmp(const char *s1, const char *s2);
这个函数返回一个整数,表示两个字符串之间的差异:
- 如果返回值为 0,则表示两个字符串相等(忽略大小写)。
- 如果返回值为正数,则表示
s1
在字典顺序上大于s2
。 - 如果返回值为负数,则表示
s1
在字典顺序上小于s2
。
在 C++ 中使用 strcasecmp
时,需要包含
头文件。但是,请注意,strcasecmp
是 POSIX 标准的一部分,而不是 C++ 标准的一部分。因此,在某些平台上可能无法使用。在这种情况下,你可以使用 stricmp
(Windows)或 strcasecmp
(Linux/macOS)作为替代方案。
以下是一个使用 strcasecmp
的示例:
#include#include int main() { const char *s1 = "Hello"; const char *s2 = "hello"; int result = strcasecmp(s1, s2); if (result == 0) { std::cout << "Strings are equal (ignoring case)."<< std::endl; } else if (result > 0) { std::cout << "s1 is greater than s2 (ignoring case)."<< std::endl; } else { std::cout << "s1 is less than s2 (ignoring case)."<< std::endl; } return 0; }
这个程序将输出 “Strings are equal (ignoring case).”,因为 s1
和 s2
在忽略大小写的情况下是相等的。