Russian Qt Forum
Ноябрь 25, 2024, 00:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: win32-msvc2010 QFile не открывает файл, заданный относительным путем  (Прочитано 4574 раз)
Akon
Гость
« : Февраль 19, 2014, 18:40 »

QFile file("..\patterns\1.wav");
file.open()  // error: "Системе не удается найти указанный путь".

Полный путь открывается (т.е. проблема не в кодировках). Тот же код с MinGW работает корректно.

Кто сталкивался?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Февраль 19, 2014, 18:44 »

может всё-таки "..\\patterns\\1.wav" ?
Записан
Akon
Гость
« Ответ #2 : Февраль 19, 2014, 18:47 »

Извиняюсь, опустил, как оказывается, важнейшую деталь - запуск проги был из под среды MSVC, и текущая директория не та.
Записан
Bepec
Гость
« Ответ #3 : Февраль 19, 2014, 20:12 »

MSVC
- из под дебага текущая директория папка с файлом vscpoj
- из под релиза текущая директория - там где находится исполняемый файл программы.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Февраль 19, 2014, 20:36 »

у меня в 2012 в обоих случаях рабочей является папка с экзешником по умолчанию
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #5 : Февраль 19, 2014, 20:39 »

НЛО ПРИЛЕТЕЛО И ОСТАВИЛО ЭТО СООБЩЕНИЕ

Код:
QString getAbsPath(QString path)
{
    QFileInfo f_info;
    if(path.left(1)=="/" || path.mid(1, 1)==":")
        f_info.setFile(path); // от корня
    else
        f_info.setFile(qApp->applicationDirPath() + "/" + path);// относительно бинарника

    return f_info.canonicalFilePath();
}
Записан

lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #6 : Февраль 19, 2014, 20:42 »

QDir::setCurrent(qApp->applicationDirPath());

Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.