![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Так решил создать тему, потому что возникли другие проблемы, не связанные с Qt. В Qt-то все и решилось
![]() Короче, fstream file(<string>, <flag>). Если путь к файлу содержит русские названия, то файл не открывается! Как бороться с этим? |
|
|
Tonal |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Какая система?
Откуда получаешь строку с именем файла? В какой она кодировке? Почему не использовать Qt-шные классы работы с файлами? |
|
|
AD |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Какая система? Откуда получаешь строку с именем файла? В какой она кодировке? Почему не использовать Qt-шные классы работы с файлами? Я полагаю, что кодировка - Win1251! Не использовались Qt-function потому что этот класс был разработан до того, как стал использоваться нами Qt! Переделывать нерационально, но, пока что, еще возможно! |
|
|
Tonal |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Не надо предполагать - нужно знать.
Разберись с кодировками и всё получится. ![]() Сообщение отредактировал Tonal - 14.3.2008, 22:01 |
|
|
AD |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Tonal |
![]()
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
А без Qt работает?
![]() |
|
|
AD |
![]()
Сообщение
#7
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Tonal |
![]()
Сообщение
#8
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Какой компилятор?
Вот этот код у меня нормально отрабатывает:
g++ (GCC) 3.4.5 (mingw special) Сообщение отредактировал Tonal - 18.3.2008, 9:11 |
|
|
AD |
![]()
Сообщение
#9
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Tonal |
![]()
Сообщение
#10
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Создай новый консольный проект, и попробуй мой код.
Укажи абсолютный путь к файлу. Если не сработает - значит кривые настройки студии. Если сработает - ищи, в чём отличия от твоего кода. ![]() |
|
|
Andrew Selivanov |
![]()
Сообщение
#11
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
setlocale( LC_ALL, ".ACP" );
|
|
|
AD |
![]()
Сообщение
#12
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Andrew Selivanov |
![]() ![]()
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Коротко: Устанавливает всякие национальные штуки, типа кодировок, используемых функциями, точку или запятую использовать для дробей итп.
Длинно: В Страуструпе это есть, в Гугле тоже ![]() Причина проблемы: Походу у тебя установлена не та кодировка для локали, а так ты явно устанавливаешь системную. http://msdn2.microsoft.com/en-us/library/a...906(VS.60).aspx
Сообщение отредактировал Andrew Selivanov - 19.3.2008, 12:44 |
|
|
AD |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Коротко: Устанавливает всякие национальные штуки, типа кодировок, используемых функциями, точку или запятую использовать для дробей итп. Длинно: В Страуструпе это есть, в Гугле тоже ![]() Причина проблемы: Походу у тебя установлена не та кодировка для локали, а так ты явно устанавливаешь системную. http://msdn2.microsoft.com/en-us/library/a...906(VS.60).aspx Спасибо! поставил так, все заработало! Огромное спасибо! ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.5.2025, 17:06 |