На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Сортировка std::vector , Ben, I need help!
    Цитата Sp@m @
    надо бы чтоб если слова начинаются с букв 'A' или 'a', то чтоб они так и шли первыми, потом 'б' или 'Б'...

    stricoll. Ну, и то, что Мяут сказал.
      Цитата Мяут @
      Попробуй

      setlocale(LC_COLLATE, "Russian_Russia");

      в начале программы

      Мне кажется, что проблема несколько не в этом. Автор имеет ввиду, что строки отсортировались с учетом регистра. А надо без учета.
        тады нам нужны _stricmp, _wcsicmp или _mbsicmp
          Цитата Flex Ferrum @
          Мне кажется, что проблема несколько не в этом. Автор имеет ввиду, что строки отсортировались с учетом регистра. А надо без учета.

          Сортировка без учета регистра очень тесно связана с текущей локалью. Практически, она не будет правильно работать, если правильная локаль не выставлена.
            Цитата Hryak @
            Сортировка без учета регистра очень тесно связана с текущей локалью. Практически, она не будет правильно работать, если правильная локаль не выставлена.

            А я этого и не отрицаю. :)
              Цитата Sp@m @
              Если вышеупомянутый код можно безболезненно подкорректировать, помогите пожалуйста

              Наверное так:
              ExpandedWrap disabled
                struct FFFLess : public std::binary_function<fff, fff, bool>
                {
                    bool operator ()(fff s1, fff s2) { return _stricoll(s1.stroka, s2.stroka) < 0; }
                };
                Сенкс ВСЕМ! Теперь все!
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0235 ]   [ 15 queries used ]   [ Generated: 18.07.25, 09:48 GMT ]