Простое программирование unix ls на языке C
#include <sys/types.h> #include <dirent.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) DIR* dp; struct dirent* dentry; if(argc != 2) { printf("usage: my_ls dirname\n"); exit(1); } if(! (dp=opendir(argv[1])) ) { printf("opendir error\n"); exit(2); } while(1) { dentry=readdir(dp); if(!dentry) break; printf("%s\n", dentry->d_name); } return 0; }
Я пытаюсь сделать вывод этой программы ls
не видно ... или ..
и вывод ls-l показывает
- в следующем порядке: каталог (d)/файл (-) / симболическая ссылка(l)
- разрешение (rwxrwxrwx)
- размер файла
и не могу найти подсказку, как сделать это так.
//Чем проще, тем лучше!! Спасибо
Что я уже пробовал:
пробовал использовать st_mode, но не могу найти способ поставить его правильно