C++ cstring strcmp() 函数

定义和用法

strcmp() 函数用于比较两个 C 风格字符串,并返回一个整数以指示哪个字符串更大。

该比较会从左侧开始逐个对比两个字符串中相同位置的字符,直到出现不匹配的字符或到达字符串末尾。存在三种可能的情况:

  • 如果两个字符串都到达末尾且未出现不匹配的字符,则函数返回 0。
  • 在首次出现不匹配时,如果第一个字符串中的字符 ASCII 值更大,则函数返回一个正数。
  • 在首次出现不匹配时,如果第二个字符串中的字符 ASCII 值更大,则函数返回一个负数。

strcmp() 函数定义在 <cstring> 头文件中。

实例

比较两个 C 风格字符串以确定哪个更大:

char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = strcmp(myStr1, myStr2);
if(cmp > 0) {
  cout << myStr1 << " 大于 " << myStr2 << "\n";
} else if(cmp < 0) {
  cout << myStr2 << " 大于 " << myStr1 << "\n";
} else {
  cout << myStr1 << " 等于 " << myStr2 << "\n";
}

亲自试一试

语法

strcmp(const char * str1, const char * str2);

参数

参数 描述
str1 必需。待比较的第一个字符串。
str2 必需。待比较的第二个字符串。

技术细节

返回:

整数值。

如果第一个字符串更大则返回正数。

如果第二个字符串更大则返回负数。

如果两个字符串相等则返回 0。