crossplatform.ru

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

> linux. Программа не находит файл, если в пути к нему есть русские буквы, как лечить?
Rocky
  опции профиля:
сообщение 24.11.2010, 10:22
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Всем привет! Кто-нибдь знает, как решается проблема, если путь до самой программы, или пути к открываемым файлам, содержат русские буквы... В винде все работает.. а в линуксе нифига (
Вот например открываю текстовый файл
const QString sPath = qApp->applicationDirPath() + qApp->tr("/Methodics/%1").arg(oMethodic.sMethodicName);
#ifdef UNICODE
std::wstring sFileNameStd1 = sBuf1.toStdWString();
#else
std::string sFileNameStd1 = sBuf1.toStdString();
#endif

//открываем файл
std::ifstream file1(sFileNameStd1.c_str(), std::ios::in);
if (file1)
{
.....
}


oMethodic.sMethodicName содержит русское слово =), которое абсолютно нормально отображается в QMessageBox. В то же время внутрь if (file1) я не попадаю...

UPD
Да, сам путь и файл естественно существует.

Сообщение отредактировал Rocky - 24.11.2010, 10:23
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 26.12.2024, 18:17