Я так понимаю что в код нужно включить проверку на атрибут что-то вроде этого:
Код: Выделить всё
struct stat *newstat1;
stat("/bin/usr/xpdf", newstat1);
if (S_ISDIR(S_IFDIR)==1)
printf("is dir");Чтение glibc и ман не дало результатов - слишком все кратко.
Код: Выделить всё
#include <ncurses.h>
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
int findfiles(FILE *out2, char* path)
{
DIR *mp3dir;
struct dirent *dir_str;
mp3dir=opendir(path);
if (mp3dir!= NULL)
{
while (dir_str=readdir(mp3dir))
{
fprintf(out2, "dir: %s \n", dir_str->d_name);
}
}
closedir(mp3dir);
return 0;
}
int main(/* int argc,char *argv[] */)
{
char file1[123];
FILE *out1;
// getcwd(buf, 254);
out1=fopen("/tmp/newfile", "w");
initscr();
start_color();
init_pair(1, COLOR_GREEN, COLOR_BLACK);
init_pair(2, COLOR_WHITE, COLOR_BLUE);
move(1, 0);
attron(COLOR_PAIR(1));
printw("Please, enter path to folder, where keep your MUSIC:");
move(2,0);
scanw("%s", file1);
move(3,0);
printw("Folder: %s, press any key", file1);
fprintf(out1, "Folder: %s, press any key\n", file1);
//fprintf(out1, "your working directory: %s", buf);
findfiles(out1, file1);
refresh();
getch();
endwin();
fclose(out1);
return 0;
}