Russian Qt Forum

Qt => Вопросы новичков => Тема начата: virtual_root от Август 28, 2012, 16:50



Название: поиск файлов в Linux
Отправлено: virtual_root от Август 28, 2012, 16:50
Добрый вечер! Ребята, подскажите пожалуйста, как мне при поиске файлов отсечь все те которые не являются исполняемыми?
Мне нужно найти все исполняемые файлы в определенной директории. Я работаю в kUbuntu. Там исполняемые файлы не имеют расширения, из-за чего я не могу при поиске его задать. Использую следующий код для поиска файлов:
Код
C++ (Qt)
       // поиск файлов
       QString fileName;
       QDir dir(qApp->applicationDirPath());
       QStringList files;
       if (fileName.isEmpty())
           fileName = "*";
       files = dir.entryList(QStringList(fileName),
                                    QDir::Files | QDir::NoSymLinks);
       qDebug()<<files;
 

код работает, но выводит абсолютно все файлы, так как я задаю *
Что мне задать, чтобы нашлись только исполняемые файлы?


Название: Re: поиск файлов в Linux
Отправлено: GreatSnake от Август 28, 2012, 16:54
Код
C++ (Qt)
files = dir.entryList(QStringList(fileName),
                                    QDir::Files | QDir::NoSymLinks | QDir::Executable);
 


Название: Re: поиск файлов в Linux
Отправлено: kambala от Август 28, 2012, 16:55
использовать QDir::entryInfoList() и после получения списка отсеять те, для которых QFileInfo::isExecutable() вернёт false


Название: Re: поиск файлов в Linux
Отправлено: mutineer от Август 28, 2012, 16:57
Флаг QDir::Executable


Название: Re: поиск файлов в Linux
Отправлено: virtual_root от Август 28, 2012, 17:15
спасибо всем большое!