Home
>
3 letnik,
C,
Fax,
SPO > V C-ju napišite preprost program DIREXE
V C-ju napišite preprost program DIREXE
V C-ju napišite preprost program DIREXE,
ki izpiše vse datoteke v trenutnem direktoriju,
katere lahko uporabnik zažene. Pri tem ne smete
uporabljati klicev,
ki poganjajo sistemske ukaze (kot so system(...)
ali execX(...)).
#include<dirent .h>
#include<sys /stat.h>
int main() {
DIR *dir; //struktura ki ponazarja directory
struct dirent *file; //struktura file-a, ima vec podatkov file-a
struct stat results; //struktura ukaza stat, vec podatkov
dir = opendir(".");
while(file = readdir(dir)) { //ko ni vec file-ov vrne NULL
stat(file->d_name, &results); //zapomnimo si podatke file-a v results(struktura stat)
printf("\tres:%d, \n\tS_xisur:%d \n",results.st_mode,S_IXUSR);
if(results.st_mode & S_IXUSR) { //preverimo ce je executable
printf("%s\n", file->d_name ); //izpisemo
}
}
closedir(dir);
}