fstream::open() и кирилица. |
Здравствуйте, гость ( Вход | Регистрация )
fstream::open() и кирилица. |
Trisch |
31.12.2013, 5:16
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0 |
У меня fstream::open() не может открыть файлы в пути которых кириллица. Это можно как то исправить?
|
|
|
Iron Bug |
31.12.2013, 6:27
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
а как ты их ему скармливаешь? переведи в юникод. детально можно почитать тут: http://habrahabr.ru/post/112997/
|
|
|
Trisch |
31.12.2013, 7:43
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0 |
Ну примерно вот так:
|
|
|
Litkevich Yuriy |
31.12.2013, 20:14
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Trisch |
2.1.2014, 3:16
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0 |
|
|
|
Trisch |
3.1.2014, 11:40
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0 |
В общем под Linux я решил проблему избавившись от посредников и напрямую загнал QString::toStdString().data() в fstream::open(). Под Windows по прежнему файлы не открываются.
Сообщение отредактировал Trisch - 3.1.2014, 22:34 |
|
|
Litkevich Yuriy |
5.1.2014, 11:07
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Trisch |
5.1.2014, 11:58
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0 |
сначала преобразуем QString какой QString? у тебя нет такого объекта. Метод toStdWString() - не статический, он требует объект.А если так?
ну это сейчас не важно. Сейчас я делаю, примерно, так:
Под Linux все работает. А вот под windows не хочет работать |
|
|
Litkevich Yuriy |
5.1.2014, 12:17
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Я б просто попробовал по разному получать имя файла:
str.toLocal8Bit().data () str.toStdString().data () str.toUtf8().data () (названия методов по памяти) |
|
|
AD |
5.1.2014, 20:54
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
Текстовая версия | Сейчас: 2.1.2025, 20:51 |