比较相同的char*时出现null终止符问题

shi*_*bar 0 c++ string

我尝试比较2个char*相同的字符串,但其中一个字符串末尾包含一个空终结符.我一直在浏览互联网,并明白不推荐删除null终结符char,因为它会使字符串不稳定.我可以使用其他什么方法?

比较功能:

int StringCompare(const char* str1, const char* str2)  
{
    int size1 = strlen(str1), size2 = strlen(str2), min = 0, index =0;  
    bool bigger1 = true;  
    if(size1>size2)  
        min=size2;  
    else  
        min=size1;  
    for(index=0;index<min;index++)  
    {  
        if(str1[index]>str2[index])  
            return 1;  
        if(str1[index]<str2[index])  
            return (-1);  
    }  
    if(size1==size2)  
        return 0;  
    if(min==size1)  
        return (-1);  
    else  
        return 1;  
}    
Run Code Online (Sandbox Code Playgroud)

谢谢!

Pup*_*ppy 5

使用std :: string,这就是它的用途.失败的常识,使用strcmp().