按字母顺序比较两个字符串

时间:2018-12-08 23:14:03

标签: c++

我正在尝试使用compare方法按字母顺序对一些字符串进行排序。 问题是,例如,如果我想比较这个词 使用string a = "Midnight"string b = "apple"(大写的m)与单词b.compare(a)一起返回1,但我想返回的值为-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()的工作方式。