scandir.c 499 B

123456789101112131415161718192021222324
  1. #include <dirent.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include "test_helpers.h"
  6. int filter(const struct dirent* dirent) {
  7. return strstr(dirent->d_name, "3") == NULL;
  8. }
  9. int main(void) {
  10. struct dirent** array;
  11. int len = scandir("example_dir/", &array, filter, alphasort);
  12. ERROR_IF(scandir, len, == -1);
  13. UNEXP_IF(scandir, len, < 0);
  14. for(int i = 0; i < len; i += 1) {
  15. puts(array[i]->d_name);
  16. free(array[i]);
  17. }
  18. free(array);
  19. }