您的位置:首页 > 编程语言 > C语言/C++

c\c++中比较两个字符串或string对象是否相等

2018-03-15 14:50 183 查看

c\c++中比较两个字符串或string对象是否相等

        在写程序的过程中,经常会遇到要比较两个字符串是否相等的情况。如果要比较的对象是char*字符串,则利用int strcmp(const char* s1,const char* s2)        当s1<s2时,返回为负数;
        当s1==s2时,返回值= 0;
        当s1>s2时,返回正数。
        即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
        "A"<"B" "a">"A" "computer">"compare"
        特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
        ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
        如果要比较的对象是两个string,则利用函数compare()。若要比较string s1和s2则写为:s1.compare(s2),若返回值为0,则两者相等。        注意:在比较时不能利用符号“==”,“==”符号比较的是两个对象的地址是否相等,此前在这个问题上犯过错误,谨记!谨记!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C 字符串 string 比较
相关文章推荐