#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>

int main(void)
{
DIR dir = NULL;
struct dirent
ptr = (struct dirent )calloc(1, sizeof(struct dirent));
struct dirent
result = NULL;

dir = opendir("/root/tmp");if (!dir) { printf ("opendir failed\n"); return 1;}while ((readdir_r(dir, ptr, &result)==0) && (result != NULL)) { printf ("name:%s\n", result->d_name);}closedir(dir);return 0;

}