работает параллельно AsyncTask

Для решения только C, пожалуйста, проверьте это. Для этого требуется только дополнительный заголовок:

https://github.com/cxong/tinydir

tinydir_dir dir;
tinydir_open(&dir, "/path/to/dir");

while (dir.has_next)
{
    tinydir_file file;
    tinydir_readfile(&dir, &file);

    printf("%s", file.name);
    if (file.is_dir)
    {
        printf("/");
    }
    printf("\n");

    tinydir_next(&dir);
}

tinydir_close(&dir);

Некоторые преимущества перед другими опциями:

  • Он переносится - обертывает POSIX dirent и Windows FindFirstFile
  • Он использует readdir_r, где доступно, что означает, что он (обычно) threadsafe
  • Поддерживает Windows UTF- 16 через те же UNICODE макросы
  • Это C90, поэтому даже очень древние компиляторы могут использовать его

24
задан Cameron MacFarland 17 December 2012 в 08:53
поделиться