我想要比较后的结果是1,因为两个字符串完全一样,我不明白为什么是0,如何处理?
string s1="\"Kilómetro 0,72\"";
s1=s1.substr(1,s1.length()-2);
cout<<s1<<endl;
string s2="Kilómetro 0,72";
cout<<s2<<endl;
if(s1==s2) cout<<1;
else cout<<0;
最佳答案
因为你的两个字符串不一样。 (注意 s2
中重音在 o
上的偏移量。)这个有效:
#include <string>
#include <iostream>
int main()
{
using namespace std;
string s1="\"Kilómetro 0,72\"";
s1=s1.substr(1,s1.length()-2);
cout<<s1<<endl;
string s2="Kilómetro 0,72";
cout<<s2<<endl;
if(s1==s2) cout<<1;
else cout<<0;
return 0;
}
关于c++ - 将 unicode 字符串与 C++ 符号进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59474929/