crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> fstream::open() и кирилица.
Trisch
  опции профиля:
сообщение 6.1.2014, 18:38
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Цитата(AD @ 5.1.2014, 20:54) *
Цитата(Trisch @ 5.1.2014, 12:58) *
Под Linux все работает. А вот под windows не хочет работать :(

У меня была подобная проблема.
Попробуй в две строки:
QString str("/test");
std::string tmp(str.toStdString());
file.open(tmp.data(), std::ios::binary | ios::in | ios::out);



А чем две строки отличаются от одной строки?

Я решил проблему через str.toLocal8Bit().data(), а перед этим получив str из wchar_t*, а еще перед этим получив объект типа wchar_t* из str1.toStdWString().data().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.1.2014, 23:42
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Сегодня нашёл кайфовый макрос, тут
#ifdef UNICODE

#define QStringToTCHAR(x) (wchar_t*) x.utf16()

#define PQStringToTCHAR(x) (wchar_t*) x->utf16()

#define TCHARToQString(x) QString::fromUtf16((x))

#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))

#else

#define QStringToTCHAR(x) x.local8Bit().constData()

#define PQStringToTCHAR(x) x->local8Bit().constData()

#define TCHARToQString(x) QString::fromLocal8Bit((x))

#define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))

#endif
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.1.2025, 20:58