c++ - 将 unicode 字符串与 C++ 符号进行比较?

标签 c++ arrays string utf-8

我想要比较后的结果是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/

相关文章:

python - 对字符串进行切片并返回拼接后的字符串

c# - 过滤字符串

c++ - 如何在 C 语言的 gdb 中调试 St9bad_alloc 失败?

javascript - 如何通过调用下面的 dom-repeat 中的函数来取消选中所有复选框

Java将字符串与int数组关联起来

Java 正则表达式必须匹配字符串的开头或结尾

c++ - 读取文本文件并使列成为 vector

c++ - 如何使控制台库存系统动态化

c++ - 在 C++ 中检查字符串变量的 cin.fail() 时出错

C++ 如何从函数返回一个数组?