一、strcmp函数简介
strcmp函数是C语言中常用的字符串比较函数,用于比较两个字符串的大小关系。该函数在C++中依然保留并继续使用,而且其用法也比较简单,因此,学会strcmp函数的使用对于C++程序员来说非常必要。
二、strcmp函数的语法
strcmp函数的语法如下:
int strcmp(const char* str1, const char* str2);
其中,str1和str2是要比较的字符串。
三、strcmp函数的返回值
strcmp函数的返回值是一个整数,包含以下三种情况:
- 如果str1等于str2,则返回0。
- 如果str1大于str2,则返回一个大于0的整数。
- 如果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函数一同使用,实现对字符串数组的排序。