21xrx.com
2024-11-10 00:43:59 Sunday
登录
文章检索 我的文章 写文章
C++ 如何比较字符串大小?
2023-06-24 06:28:21 深夜i     --     --
C++ 比较 字符串大小

C++中有多种比较字符串大小的方法。其中一种方法是使用比较运算符,例如“>”、“<”、“>=”、“<=”、“==”等。这些运算符可以直接用于字符串类型。下面是一个例子:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string s1 = "hello";

  string s2 = "world";

  if (s1 > s2)

    cout << s1 << " is greater than " << s2 << endl;

   else if (s1 < s2)

    cout << s1 << " is less than " << s2 << endl;

   else

    cout << s1 << " and " << s2 << " are equal" << endl;

  

  return 0;

}

在上面的例子中,我们使用了“>”和“<”运算符比较了两个字符串的大小。如果第一个字符串大于第二个字符串,则输出第一个字符串大于第二个字符串的信息;如果第一个字符串小于第二个字符串,则输出第一个字符串小于第二个字符串的信息;否则,输出两个字符串相等的信息。

除了比较运算符,C++中还提供了一些标准库函数来比较字符串的大小,例如strcmp()、strncmp()、strcasecmp()、strncasecmp()等。这些函数的用法如下:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  const char* s1 = "hello";

  const char* s2 = "world";

  int result1 = strcmp(s1, s2);

  if (result1 > 0)

    cout << s1 << " is greater than " << s2 << endl;

   else if (result1 < 0)

    cout << s1 << " is less than " << s2 << endl;

   else

    cout << s1 << " and " << s2 << " are equal" << endl;

  

  char s3[] = "Hello";

  char s4[] = "hello";

  int result2 = strcasecmp(s3, s4);

  if (result2 > 0)

    cout << s3 << " is greater than " << s4 << endl;

   else if (result2 < 0)

    cout << s3 << " is less than " << s4 << endl;

   else

    cout << s3 << " and " << s4 << " are equal" << endl;

  

  return 0;

}

在上面的例子中,我们使用了strcmp()和strcasecmp()函数分别比较了两个字符串的大小。这些函数的返回值为负数、0或正数,具体的返回值的意义根据函数的不同而有所不同。

总之,在C++中比较字符串大小有多种方法,可以根据具体的需要选择适合的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复