softether-vpn/3rdparty/tinydir/samples/interactive_sample.c
2025-08-08 12:40:03 +02:00

61 lines
897 B
C

#include <stdio.h>
#include <tinydir.h>
int main(void)
{
tinydir_dir dir;
if (tinydir_open_sorted(&dir, ".") == -1)
{
perror("Error opening file");
goto bail;
}
for (;;)
{
size_t i;
char input[256];
for (i = 0; i < dir.n_files; i++)
{
tinydir_file file;
if (tinydir_readfile_n(&dir, &file, i) == -1)
{
perror("Error getting file");
goto bail;
}
if (file.is_dir)
{
printf("[%u] ", (unsigned int)i);
}
printf("%s", file.name);
if (file.is_dir)
{
printf("/");
}
printf("\n");
}
printf("?");
if (fgets(input, 256, stdin) == NULL)
{
break;
}
else
{
int choice = atoi(input);
if (choice >= 0 && (size_t)choice < dir.n_files)
{
if (tinydir_open_subdir_n(&dir, choice) == -1)
{
perror("Error opening subdirectory");
goto bail;
}
}
}
}
bail:
tinydir_close(&dir);
return 0;
}