我正在尝试使用compare
方法按字母顺序对一些字符串进行排序。
问题是,例如,如果我想比较这个词
使用string a = "Midnight"
将string b = "apple"
(大写的m)与单词b.compare(a)
一起返回1
,但我想返回的值为-1
,请问有什么解决方案这个问题吗?
答案 0 :(得分:0)
解决此问题的一种方法是将两个字符串都更改为大写,这样可以保证所需的比较输出。
例如:
string a = "Midnight";
string b = "apple";
for (auto &c: a) c = toupper(c);
for (auto &c: b) c = toupper(c);
b.compare(a) // returns -ve value;
您可以通过此链接进一步了解toupper()的工作方式。