Форум программистов, компьютерный форум CyberForum.ru

Регистронезависимое сравнение строк с русскими буквами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread711308.html
Ребята, помогите пожалуйста решить задачу. Есть массив с 10 структур, куда заносятся данные об студентах: Имя, номер группы и количество пропусков. Надо чтобы выводило записи по спаданию номеров групп. Цикл для этого то работает, и номера групп берет правильно, но имена выводит не соответствующие номеру группы. вот код: #include <vcl.h> #pragma hdrstop #include <iostream.h> #include...
C++ Что содержит ссылка? Почитал в нескольких местах. Везде одно и то же: "ссылка - это псевдоним". Интересно, а она вообще является отдельной переменной? То есть: int x = 2; int &r = x; Здесь r это ссылка (т.е. псевдоним) x. А в самой оперативной памяти r будет лежать как отдельная переменная? Я так понял, что да. Что она тогда содержит? Просто где-то прочитал, что ссылка инициализируется адресом переменной. Значит,... http://www.cyberforum.ru/cpp-beginners/thread711281.html
Найти количество цифр в десятичном числе k C++
Найти количество цифр в десятичном числе k.
C++ Дана последовательность целых чисел, за которой следует 0. Найти сумму элементов с нечетными номерами из этой последовательности
Дана последовательность целых чисел, за которой следует 0. Найти сумму элементов с нечетными номерами из этой последовательности.
C++ Invalid conversion from `int' to `const char*' http://www.cyberforum.ru/cpp-beginners/thread711270.html
Здравствуйте.Возникла проблема с типами данных, пытался решить - стало хуже...:wall: Вот сам код: #include <iostream> #include <cstring> #include <fstream> using namespace std; struct dannie {
C++ структуры ссылки и функции Здравствуйте. Есть задача: " В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пункт назначения, время отправления и прибытия. Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени. Использовать функции." Помимо этого нужно сделать в программе передачу структуры по... подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
27.11.2012, 20:50     Регистронезависимое сравнение строк с русскими буквами
Необходимо регистронезависимо сравнивать строки string с русскими буквами. Пробовал поиграться с встроенным toUpper но у меня вот так он не работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    bool compare_nocase(const string &str1, const string &str2)
    {
        string::const_iterator i1 = str1.begin(), i2 = str2.begin();
        std::locale loc = std::locale::classic();
 
        while((i1 != str1.end()) && (i2 != str2.end()))
        {
            if(toupper(*i1,loc) != toupper(*i2,loc))
            {
                return false;
            }
 
            ++i1, ++i2;
        }
 
        return (str1.length() == str2.length());
    }
Те в данном случае возвращается один только если вызвать для "строка"="строка", а для "строка"="сТрока" уже вернёт 0. Что посоветуете?

Добавлено через 3 минуты
Вспоминается мне что в с++ что-то было там по культурам, но помню я тот раздел в книге где я его видел читать не стал, а вот сейчас какраз что-то такое видимо и надо ...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru