Here's what I have so far.
Expand|Select|Wrap|Line Numbers
- #include <stdlib.h>
- #include <iostream.h>
- #include <string>
- #include <dir.h>
- #include <dirent.h>
- #include <errno.h>
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <vcl.h>
- #pragma hdrstop
- //---------------------------------------------------------------------------
- #pragma argsused
- bool is_dir(const char path[])
- {
- DIR * dir_pointer;
- dir_pointer = opendir(path);
- dirent * testptr;
- if (!dir_pointer)
- {
- closedir(dir_pointer);
- return false;
- } else
- {
- closedir(dir_pointer);
- return true;
- }
- }
- int main(int argc, char* argv[])
- {
- DIR * directory_pointer;
- dirent * file_pointer;
- if (argc > 1 && argc < 3)
- {
- directory_pointer = opendir(argv[1]);
- if (!directory_pointer)
- {
- cout << "Failure[1]...terminating...";
- exit(1);
- }
- errno = 0;
- while (file_pointer = readdir(directory_pointer))
- {
- /* if (errno)
- {
- cout << "\nFailure[2]...terminating...";
- exit(1);
- } */
- if (strcmp(file_pointer->d_name,".") != 0
- && strcmp(file_pointer->d_name,"..") != 0)
- {
- cout << "\n" << file_pointer->d_name;
- if (is_dir(file_pointer->d_name))
- {
- cout << "\t\t<DIRECTORY>";
- } else cout << "\t\t<FILE>";
- }
- }
- closedir(directory_pointer);
- } else cout << "\nCorrect usage:\n\ndirte <folder> | <PATH>\n\n";
- return 0;
Expand|Select|Wrap|Line Numbers
- /*
- struct stat holder;
- stat(path, &holder);
- cout << "\n" << path;
- if (S_ISDIR(holder.st_mode))
- {
- return true;
- } else return false;
- */
Thank you.