![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
pharrell |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.6.2006 Репутация: нет Всего: нет |
Как отсортировать по русскому алфавизаписи в файле.Подскажите кто может.
|
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Так же, как и инглиш
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Ну не совсем.
Алфавитный порядок русских символов, в зависимости от кодировки, не совпадает с их числовым порядком. Поэтому, если говорить о C, нужно установить русскую локаль, и сравнивать не функцией strcmp, а strcoll, которая использует информацию о локале. Локаль устнавливается примерно так: setlocale (LC_COLLATE, "Russian"). Это пример из Windows, MSVC. В других комиляторах функция setlocale тоже должна быть, но аргументы могут называться чуть иначе, так что смотри документацию. -------------------- ... |
|||
|
||||
0x07L |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: нет Всего: 5 |
Earnest, можешь привести пример такой кодировки, ради интересу? Я знаю кодировки, в которых ряд русских букв разорван, но не знаю такие, в которых изменен порядок букв.
Это сообщение отредактировал(а) 0x07L - 28.6.2006, 17:06 |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
KOI8-R
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
SaDFromSpb |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 5.4.2006 Где: Санкт-Петербург Репутация: 3 Всего: 3 |
Присоединяюсь.
А может он про алгоритм спрашивает? =) -------------------- "За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001) |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Кроме порядка, локаль определяет также преобразование между строчными и прописными буквами. Что тоже важно для сравнения, скажем, без учета регистра.
Добавлено @ 17:18
Void уже ответил. -------------------- ... |
|||
|
||||
0x07L |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: нет Всего: 5 |
Извините, вопрос несколько не в тему, однако как можно заставить стандартные функции воспринимать файл как записанный в кодировке, например, KOI8-R, а не в кодировке ANSI?
|
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
В С++ — написать свою локаль, точнее, codecvt facet, понимающую KOI8-R.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |