OS: Linux Slackware 10.1
Compiler: g++
Пишу что-то типа ls в *nix... так вот как перебрать содержимое диры я заню, а вот как получить такую информацию о файле как тип файла(бинарник, архив, папка, линк) и т.п. незнаю... и еще, как получить флаги доступа? да и поиск чето не колится... пока юзаю ф-ию stat()...
Вот что я накодил:
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
#include <malloc.h>
#include <string.h>
int main( int argc, char* argv[] )
{
char path[]="/etc";
char tmp[1024];
DIR *dir;
dir = opendir(path);
struct dirent *namelist;
struct stat file_stat;
while(namelist = readdir(dir))
{
if(strcmp(namelist->d_name,"."))
if(strcmp(namelist->d_name,".."))
{
strcpy(tmp,path);
strcat(tmp,"/");
strcat(tmp,namelist->d_name);
stat(tmp,&file_stat);
printf("%s - %i\n",namelist->d_name, file_stat.st_size);
}
}
free(namelist);
return 0;
}