C++ string字符串比较问题

一般来说直接用string提供的 == 应该就能实现了,但是今天我遇到的问题简直棘手,一直都判断不了。

然后我就分别输出了两个字符串的长度,发现其中之一的长度始终比字符个数大一个,我于是强制转换成int型进行输出发现后面是多了个终结符号,然后我就想着既然一个有,那我在另一个里面加上一个终止符不就好了,然而不行,还是判断不了。

然后我又在度娘肚子里扒终于找到一个方法,就是既然添加不行,那我就删除好了,于是我就用string提供的erase方法删除了多余的终止符。判断成功。

数据格式: WordData[308] == approximately

string buff = buf;

        int equal = (int)buff.find("==");

        string sub = buff.substr(equal+3);

        sub.erase(sub.length()-1);

        cout<<(int)sub[sub.length()]<<endl;

        if(sub == str){

            cout<<"strline str:"<<sub.length()<<"\n"<<str.length()<<endl;

            return "";

        }


你可能感兴趣的:(C++ string字符串比较问题)