c中字符串比较函数strcmp如何用
更新时间:2023-09-29字符串比较函数介绍
strcmp是C++中常用的字符串比较函数之一,其函数原型为:
int strcmp ( const char * str1, const char * str2 );
其中str1和str2均为指向字符串的指针,函数返回值为整型,具体说明如下:
- 返回值为0,表示两个字符串相等。
- 返回值小于0,表示str1小于str2。
- 返回值大于0,表示str1大于str2。
使用strcmp进行字符串比较
下面是一个使用strcmp函数进行字符串比较的例子:
#include#include using namespace std; int main() { char str1[] = "hello"; char str2[] = "world"; int result = strcmp(str1, str2); if (result == 0) { cout << "两个字符串相等"; } else if (result < 0) { cout << "str1小于str2"; } else { cout << "str1大于str2"; } return 0; }
在上面的例子中,我们首先定义了两个字符串str1和str2,然后使用strcmp进行字符串比较,将结果保存在result中。根据result的值,我们可以判断两个字符串的大小关系。
注意事项
在使用strcmp函数进行字符串比较时,需要注意以下几点:
- strcmp函数只比较字符串中的字符内容,不比较字符串长度和缓冲区大小。
- 当一个字符串的长度小于另一个字符串时,在比较过程中只比较两个字符串长度相同的部分。
- 在比较两个字符串时,不区分大小写。
自己实现字符串比较函数
如果你想要自己实现一个字符串比较函数,可以参考以下代码:
#includeusing namespace std; int my_strcmp(const char* str1, const char* str2) { int i; for(i = 0; str1[i] != '\0' && str2[i] != '\0'; i++) { if(str1[i] != str2[i]) break; } return str1[i] - str2[i]; } int main() { char str1[] = "hello"; char str2[] = "world"; int result = my_strcmp(str1, str2); if (result == 0) { cout << "两个字符串相等"; } else if (result < 0) { cout << "str1小于str2"; } else { cout << "str1大于str2"; } return 0; }
在上面的例子中,我们定义了一个my_strcmp函数,使用循环逐个比较两个字符串中的字符,直到找到不相等的字符或者其中一个字符串结束为止,最后根据比较结果返回相应的值。