은 주어진 경로에있는 모든 폴더, 하위 폴더 및 파일을 나열하는 방법이 있나요? 예를 들면 : (c : \ myfolder)와 같이 표시하고, 거기에 포함 된 각 파일 및 폴더에 대한 전체 경로를 인쇄 하시겠습니까? 목록 폴더, 하위 폴더 및 파일 (창)
c:\myfolder\folder1\
c:\myfolder\folder2\
c:\myfolder\folder2\f1
c:\myfolder\folder2\f2\g1
c:\myfolder\test.txt
c:\myfolder\t.txt
나는이 예제를 발견하지만 리눅스 용으로 설계 :
int is_directory_we_want_to_list(const char *parent, char *name) {
struct stat st_buf;
if (!strcmp(".", name) || !strcmp("..", name))
return 0;
char *path = alloca(strlen(name) + strlen(parent) + 2);
sprintf(path, "%s/%s", parent, name);
stat(path, &st_buf);
return S_ISDIR(st_buf.st_mode);
}
int list(const char *name) {
DIR *dir = opendir(name);
struct dirent *ent;
while (ent = readdir(dir)) {
char *entry_name = ent->d_name;
printf("%s\n", entry_name);
if (is_directory_we_want_to_list(name, entry_name)) {
// You can consider using alloca instead.
char *next = malloc(strlen(name) + strlen(entry_name) + 2);
sprintf(next, "%s/%s", name, entry_name);
list(next);
free(next);
}
}
closedir(dir);
}
출처 :How to recursively list directories in C on LINUX
'FindFirstFile'은 원하는 것입니다. https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa365200%28v=vs.85%29.aspx – purplepsycho
컴파일러는 무엇입니까? – BLUEPIXY
@BLUEPIXY 내가 사용하고'비주얼 스튜디오 2010' –