关键词

C++字符串比较函数:strcmp的用法与示例

一、strcmp函数简介

strcmp函数是C语言中常用的字符串比较函数,用于比较两个字符串的大小关系。该函数在C++中依然保留并继续使用,而且其用法也比较简单,因此,学会strcmp函数的使用对于C++程序员来说非常必要。

二、strcmp函数的语法

strcmp函数的语法如下:

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

其中,str1和str2是要比较的字符串。

三、strcmp函数的返回值

strcmp函数的返回值是一个整数,包含以下三种情况:

  1. 如果str1等于str2,则返回0。
  2. 如果str1大于str2,则返回一个大于0的整数。
  3. 如果str1小于str2,则返回一个小于0的整数。

四、strcmp函数的示例

下面通过几个简单的示例来演示strcmp函数的使用。

示例1:比较相等的字符串

#include 
#include 
using namespace std;
int main() {
    char str1[] = "hello";
    char str2[] = "hello";
    if (strcmp(str1, str2) == 0)
        cout << "str1 等于 str2" << endl;
    else
        cout << "str1 不等于 str2" << endl;
    return 0;
}

运行结果:

str1 等于 str2

示例2:比较不相等的字符串

#include 
#include 
using namespace std;
int main() {
    char str1[] = "hello";
    char str2[] = "world";
    if (strcmp(str1, str2) == 0)
        cout << "str1 等于 str2" << endl;
    else if (strcmp(str1, str2) > 0)
        cout << "str1 大于 str2" << endl;
    else
        cout << "str1 小于 str2" << endl;
    return 0;
}

运行结果:

str1 小于 str2

示例3:英文排序

下面的示例展示如何使用strcmp函数对一组字符串进行英文排序。

#include 
#include 
#include 
using namespace std;
bool cmp(const char* str1, const char* str2) {
    return strcmp(str1, str2) < 0;
}
int main() {
    char arr[][100] = { "banana", "orange", "apple", "pear" };
    sort(arr, arr + 4, cmp);
    for (int i = 0; i < 4; i++)
        cout << arr[i] << endl;
    return 0;
}

运行结果:

apple
banana
orange
pear

五、总结

通过以上几个示例,我们可以看到strcmp函数的使用非常方便,可以快速进行字符串大小关系的比较。同时,对于排序等操作,也可以通过定义cmp函数,结合strcmp函数一同使用,实现对字符串数组的排序。

本文链接:http://task.lmcjl.com/news/42.html

展开阅读全文