Автор | Вопрос по С++ |
Чувствительностью к регистру можно как-то управлять или отключить вовсе?
Нужно чтобы, например, строки
ААА
АаА
ААа
ааа
равнялись |
Создай класс строки, определи методы, нечувствительные к регистру. В чём проблема-то? |
для FireSwarm:
В том, что я не знаю, как это сделать, покажи пример, если не сложно |
для bone marrow:
Не знаешь как создать класс? Могу метлу вручить. Самое для тебя то будет. А про программирование забудь. |
на самом деле много инфы в интернете...
например вот http://www.cyberforum.ru/cpp-beginners/thread921048.html |
IDE-то какая?) посмотри методы а-ля CompareIC (builder), compare(Qt) etc |
для ОтецОрды:
Копался в интернете, не смог ничего толкового найти |
ИМХО зайдя на ту страницу уже вижу решение вышеописанной тобой проблемы. Даже без классов и методов( аля С). |
для Gradient:
dev
Нашел функцию toupper..судя по описанию функции должно помочь.. |
она тебе просто все символы в верхний регистр переведет
нет, можно, конечно, сравнивать str.toUpper() == str2.toUpper(), но зачем?) |
для Gradient:
Комбинаций слов из ААА ааа АаА очень много, если использовать эту функцию, то условие получается короткое) условие прописать заглавным и строки тоже перевести в заглавный, единственно, что я пока что смог сделать |
какие там у тебя строки, std::string?
напиши нечто вроде
namespace
{
bool compare(const std::string& str1, const std::string& str2, bool ci = true)
{
if(!ci)
return str1.compare(str2);
return toupper(str1) == toupper(str2);
};
}
или выдели в отдельный хидер, если много где надо использовать
PS: код примерный, форматирование форум собьет, наверное:) |
Спасибо |
тема закрыта by bone marrow (2014-12-08 14:16:35) |
---|