【发布时间】:2015-01-20 05:27:13
【问题描述】:
我正在通过
阅读用户输入string word;
while(cin >> myWord)
//put myWord in array
但为了排序,我希望“This”和“this”相同。对于我的排序算法,我使用字符串的默认 值,所以 This != this ,出于我的目的,我需要它 == 所以我想在读入时立即将所有内容设为小写。我知道我需要创建一个for 循环来遍历单词并将其设为小写,因此在将单词放入数组之前,我需要在while 循环中执行此操作。但我想知道是否有什么技巧可以让 cin 中的单词变成 myWord 已经小写(或在读入后立即将“myWord”变为小写),按照@987654326 的行@是我在说的
【问题讨论】:
-
我不确定如何在同一步骤中执行此操作,但您可以在将其放入数组之前调用tolower 以确保它是小写的。
-
我将通过自定义
SortPredicate更改std::sort中的排序顺序,该SortPredicate比较忽略大小写的字符串。 -
通过预处理器运行您的输入:
tr A-Z a-z | my-program -
@TommyK 按原样添加单词,不要更改大小写。当您致电
std::sort时,您可以在此处进行不区分大小写的比较。