std::transform не работает при чтении строк из файла., что не правильно делаю, подскажите? |
Здравствуйте, гость ( Вход | Регистрация )
std::transform не работает при чтении строк из файла., что не правильно делаю, подскажите? |
ViGOur |
3.8.2010, 12:55
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Есть код:
Но вот почему? Понять могу!
|
|
|
AD |
3.8.2010, 14:09
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Я последние строчки кода не очень понял. У тебя указатель в файле, по идее, уже дошел до конца файла, что ты прочитываешь последним getline()? А вообще интересная проблемка. Будет минутка, попробую твой код!
|
|
|
ViGOur |
3.8.2010, 14:18
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
У тебя указатель в файле, по идее, уже дошел до конца файла, что ты прочитываешь последним getline() это я делал шаблон, для того, чтобы воспроизвести ошибку, потому лишнее и осталось. Поправил. Еще выяснил, что не работает у меня под линуксом (ubuntu), а под виндой все в порядке! |
|
|
AD |
3.8.2010, 14:31
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
DEADHUNT |
3.8.2010, 15:24
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
в линуксе кодировка файла utf8, русские символы занимают несколько байт, поэтому и не работает. надо при чтении utf8 преобразовывать в wchar_t, а дальше использовать towlower.
|
|
|
ViGOur |
5.8.2010, 23:05
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Проблема была с локалью, переустановил ее и все стало нормально!
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 9:12 |