depth first
アルゴリズムを使用してディレクトリをトラバースするコードを書いています。問題は、プログラムが何も表示せず、を与えることSegmentation Fault error
です。私はそれをデバッグしようとしましたが、私はまだ何かを学んでいるので、それは無価値でした。だから今、私は専門家の助けが必要です。コードは次のとおりです。
void func(char path[]);
int main(int argc, char *argv) {
char buf[255];
scanf("%s",buf);
func(buf);
return 0;
}
void func(char path[]) {
DIR *dirp;
struct stat states;
struct dirent *direntp;
printf("Inside\n");
dirp=opendir(path);
stat(path, &states);
while ((direntp=readdir(dirp)) != NULL) {
if (S_ISDIR(states.st_mode)) {
printf("Calling Func\n");
func(direntp->d_name);
chdir("..");
} else if (!S_ISDIR(states.st_mode)) {
printf(" %s\n", direntp->d_name);
} else if (!strcmp(direntp->d_name, ".") || !strcmp(direntp->d_name, "..")) {
continue;
}
}
return ;
}