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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подскажите пожалуйста как задавать пути с пробелами для QFile  (Прочитано 3280 раз)
Silentium
Гость
« : Июль 06, 2012, 10:56 »

у нас есть переменная QString str; в ней храниться абсолютный путь к файлу. когда в пути нет спец символов и пробелов все превосходно, а когда появляются пробелы идет ошибка файл не найден. В принципе оно понятно, но стандартные методы из консоли вроде c:\новая\ папка\1.txt или "c:\новая папка\1.txt" не помогают.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июль 06, 2012, 11:13 »

Код показывай.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Silentium
Гость
« Ответ #2 : Июль 06, 2012, 11:29 »

Код:
exists_files   =new QStringList; //переменная списика файлов
заполняем его базовыми данными
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"QAso.log");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"QAso.queue");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"element_text.xml");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"help");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"about");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"aso.xml");
///в последствиие пользователь может менять как их захочет в основном через QFileDialog
///теперь проверяем наличие файликов
QFileInfo   *file_name      =new QFileInfo;   
    for(int i=3;i<exists_files->count();i++){
        file_name->setFile(exists_files->at(i));
        if(!file_name->exists())
            out_files+=file_name->fileName()+" ";
    }
    if (!out_files.isEmpty()){
        QMessag_Dialog *msg    =   new   QMessag_Dialog;
        out_files="file was not exists:\n"+out_files;
        msg->lb->setText(out_files);
        connect(msg->bt,SIGNAL(clicked()),SLOT(window_close()));
        connect(msg->bt,SIGNAL(clicked()),msg,SLOT(close()));
        msg->show();
        delete file_name;

    }
Все это прекрасно функционирует когда пути нормальные, но знаю любовь создавать пользвателями пути типа с:\вася пупкин[мои файлы]\ хотелось бы этого избежать
« Последнее редактирование: Июль 06, 2012, 11:40 от Пантер » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Июль 06, 2012, 13:01 »

От пробелов это не зависит. Если нужно проверять файлы с национальными символами в имени, нужно учитывать кодировку
« Последнее редактирование: Июль 06, 2012, 13:04 от Alex Custov » Записан
Silentium
Гость
« Ответ #4 : Июль 06, 2012, 14:06 »

Похоже Вы правы, вопрос снимается. Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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