| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как отсортировать по русскому алфавизаписи в файле |
| Автор: pharrell 27.6.2006, 22:40 |
| Как отсортировать по русскому алфавизаписи в файле.Подскажите кто может. |
| Автор: Xenon 27.6.2006, 23:07 |
| Так же, как и инглиш |
| Автор: Earnest 28.6.2006, 16:53 |
| Ну не совсем. Алфавитный порядок русских символов, в зависимости от кодировки, не совпадает с их числовым порядком. Поэтому, если говорить о C, нужно установить русскую локаль, и сравнивать не функцией strcmp, а strcoll, которая использует информацию о локале. Локаль устнавливается примерно так: setlocale (LC_COLLATE, "Russian"). Это пример из Windows, MSVC. В других комиляторах функция setlocale тоже должна быть, но аргументы могут называться чуть иначе, так что смотри документацию. |
| Автор: 0x07L 28.6.2006, 17:06 |
| Earnest, можешь привести пример такой кодировки, ради интересу? Я знаю кодировки, в которых ряд русских букв разорван, но не знаю такие, в которых изменен порядок букв. |
| Автор: Void 28.6.2006, 17:14 |
| KOI8-R |
| Автор: SaDFromSpb 28.6.2006, 17:17 |
| Присоединяюсь. А может он про алгоритм спрашивает? =) |
| Автор: 0x07L 28.6.2006, 19:36 |
| Извините, вопрос несколько не в тему, однако как можно заставить стандартные функции воспринимать файл как записанный в кодировке, например, KOI8-R, а не в кодировке ANSI? |
| Автор: Void 28.6.2006, 19:58 |
| В С++ — написать свою локаль, точнее, codecvt facet, понимающую KOI8-R. |