C++中字符串分两种,一种是C语言的字符串,一种是string字符串。
C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。
具体细节:
C语言的字符串的实质是一个字符数组中存储的字符序列,如果直接比较大小相当于比较了两个字符串的首地址的大小,毫无意义。
C语言的字符串需要通过strcmp函数进行比较大小。
C++添加的string字符串是一个类,该类对运算符>、<和==进行了重载,能够直接比较两个字符串的大小。
建议在C++中尽量使用string字符串,简单,且不容易出错。
在C++中,这种比较实质上是地址的比较,而非字符串的比较
字符串的比较
可以使用strcmp函数
如果你用的是string串变量,就能直接用< 这个是运算符重载技术
C++中的字符串可以不用函数直接比较大小
可以
strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include
功能:比较字符串s1和s2。
说明:
当s1
当s1>s2时,返回值>0
举例:
// strcmp.c
#include
#include
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}