C++ STRCMP()

28 Aug 2024 | 5 分钟阅读

C++ 中的 strcmp() 函数 用于按字典顺序比较空终止字符串或两个字符数组。它是 C++ 中的一个内置库函数。此函数接受两个要比较的字符数组作为参数。C++ 中的 strcmp() 函数根据第一个不同字符返回一个整数值。

C++ 中的 STRCMP() 函数是什么?

它是 C++ 中的一个内置库函数。此函数在 <cstring> 头文件中定义和声明原型。此函数将字符串作为参数,并比较字符串以检查相等性。此函数匹配两个字符串中每个索引处的字符,因此,它按字典顺序匹配字符串。比较从字符串的第一个字符开始,直到找到任何相似或空类型字符为止。

C++ 中 strcmp 函数的语法

下面给出了在 C++ 中使用 strcmp 函数的语法

在此语法中,str1str2 分别是字符串名称。

C++ 中 strcmp 函数中使用的参数

strcmp() 函数使用两个参数,例如 str1 和 str2,用于比较字符数组的指针。

C++ 中 strcmp 函数返回的值

C++ 中的 strcmp 函数返回一个整数值。根据 C++ 中第一个不同的字符,在两个字符串之间计算值。C++ 中的 strcmp 函数生成三种类型的返回值。

1) 零 (0)

此处 是此函数中的返回值。在这种情况下,两个字符串相同。另一方面,两个字符串中都有一个等效的索引。

示例

输出

equal String
strcmp() return value is: 0

2) 大于零 ( >0 )

如果字符串 左侧 的第一个不同字符的 ASCII 值 大于右侧字符串中相应字符的 ASCII 值,则返回的值大于零。其中结果值是字符串中第一个不同字符的 ASCII 值之差。

示例

输出

unequal String
strcmp() return value is: 32

说明

在上面的代码中,声明并初始化了两个字符串 str1 和 str2。然后它们通过 strcmp() 函数。函数的返回值存储在变量 returnvalue 中。字符串中第一个不匹配的字符在 索引 0 处找到,两个字符串中的字符都在此处。两个字符的 ASCII 值分别为 115 和 83。因此,ASCII 值之差为 32。使用条件语句通过验证 returnvalue 是否等于零来检查字符串是否相同。

3) 小于零 ( <0 )

如果字符串第一个不同字符的左侧 ASCII 值小于右侧字符串中相应字符的 ASCII 值,则返回值将小于零。字符串第一个不同字符的 ASCII 值 之差,即 str1 - str2,称为其 结果值

示例

输出

unequal String
strcmp() return value is: -32

strcmp() 的原型

在 C++ 中,strcmp() 原型 在名为 cstring 的头文件中描述

字符串的元素,如 str1 和 str2,应与 strcmp() 按字典顺序匹配。

str1 和 str2 中出现的第一个不同字符对之间的差异称为返回值。

Strcmp() 的未定义行为

在 C++ 中,如果其中一个参数不指向空终止字符串或 C++ 字符数组,则 strcmp 函数会显示异常或未定义行为。

示例

编译错误

输出

no output

使用用户定义函数实现 strcmp 函数

输出

equal strings
strcmp() return value is:  0

结论

  • 在 C++ 中,strcmp 函数 是一个内置库函数。
  • 它在头文件 'string.h' 中定义并声明原型。
  • 此函数接受两个字符数组作为参数进行比较。
  • 此函数在 C++ 中返回一个整数值,该值根据两个字符串中第一个不同的字符进行计算。
  • 在 C++ 中,如果其中一个参数不指向 C 字符数组或空终止字符串,则此函数会显示未定义行为。