alex5e
@alex5e

Как в ubuntu на C++ найти в директории исполняемые файлы?

Добрый вечер. Не подскажете как на C++ в Ubuntu найти в каталоге все файлы, которые являются исполняемыми?

Вот код:
#include <stdio.h>
#include <dirent.h>
#include <string.h>

int main(int argc, char **argv)
{
	struct dirent *DirEntry;
	unsigned char isFile =0x8;
	DIR *dfd;
	struct dirent *dp;
	char filename[NAME_MAX];

	if ( argc < 2 )
	strcpy(filename, ".");
	else
	strcpy(filename, argv[1]);

	printf("%s\n\n", filename);
	dfd=opendir(filename);

	while((dp=readdir(dfd)) != NULL )
	{
		if(dp->d_type == isFile)
	   	printf("%s\n", dp->d_name);
		
	}

	closedir(dfd);
	return 0;
}
  • Вопрос задан
  • 593 просмотра
Решения вопроса 1
HiNeX
@HiNeX
Web Developer
stackoverflow.com/questions/5719694/having-a-path-...

#include <sys/stat.h>

bool can_exec(const char *file)
{
    struct stat  st;

    if (stat(file, &st) < 0)
        return false;
    if ((st.st_mode & S_IEXEC) != 0)
        return true;
    return false;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
mramor
@mramor
нечего о себе рассказывать.
Вам может помочь stat()
Ответ написан
Комментировать
Denormalization
@Denormalization
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы