aboutsummaryrefslogtreecommitdiff
path: root/semestr-5/so/lista0/lista_0/1_ls.c
diff options
context:
space:
mode:
Diffstat (limited to 'semestr-5/so/lista0/lista_0/1_ls.c')
-rw-r--r--semestr-5/so/lista0/lista_0/1_ls.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/semestr-5/so/lista0/lista_0/1_ls.c b/semestr-5/so/lista0/lista_0/1_ls.c
new file mode 100644
index 0000000..ffbbc54
--- /dev/null
+++ b/semestr-5/so/lista0/lista_0/1_ls.c
@@ -0,0 +1,18 @@
+#include "apue.h"
+#include <dirent.h>
+
+int main(int argc, char *argv[]) {
+ DIR *dp;
+ struct dirent *dirp;
+
+ if (argc != 2)
+ err_quit("usage: ls directory_name");
+
+ if ((dp = opendir(argv[1])) == NULL)
+ err_sys("can't open %s", argv[1]);
+ while ((dirp = readdir(dp)) != NULL)
+ printf("%s\n", dirp->d_name);
+
+ closedir(dp);
+ exit(0);
+}