C++ 比较两个字符串
我有一个用于与字符串进行比较的函数:C++ 比较两个字符串,c++,C++,我有一个用于与字符串进行比较的函数: int string_compare(char *str1, char *str2){ while(*str1==*str2) { if ( *str1 == '\0' || *str2 == '\0' ) break; str1++; str2++; } if( *str1 == '\0' && *str2 == '\0' ) return 0; else if(*str1 == '\0' &&am
int string_compare(char *str1, char *str2){
while(*str1==*str2)
{
if ( *str1 == '\0' || *str2 == '\0' )
break;
str1++;
str2++;
}
if( *str1 == '\0' && *str2 == '\0' )
return 0;
else if(*str1 == '\0' && *str2 != '\0' )
return -1;
else
return 1;}
如果这些字符串相同,则返回0;如果str1>str2,则返回1;如果str2相同,则返回-1
编辑:现在它不应该返回任何警告,但仍然不能正常工作 按照下面给出的代码检查字符串是否为空
if (myString != NULL) {
// doSomething
}
如果要比较两个字符串,请尝试以下方法:
-如果还要比较字符串的大小写,则strcmpstring1,string2==0。
-如果不比较字符串的大小写,则strcmpistring1,string2==0。Ok,有什么问题吗?它不处理*str1!='\0'&&*str2!='\对不起!问题是,如果任何ifs都已验证,则不会返回任何这些值。为什么不能只使用strcmp?您可以先编写一个字符比较函数,然后了解作业的解决方案非常复杂。此外,您还可以使用myString[0]='\0'