これはおそらく私が間違っている構文のことですが、私の人生ではそれを理解することはできません.
関連コード:
struct dirent *readDir;
DIR *dir;
dir = opendir(name);
if(dir == NULL) {
printf("No directory found with the name %s\n", name);
} else {
printf("directory named %s opened.\n", name);
while((readDir = readdir(dir)) != NULL) {
if(readDir->d_name != ".." || readDir->d_name != ".") {
printf("%s\n", readDir->d_name);
}
}
closedir(dir);
}
while ループの if 条件が機能していないようです。生成される出力は次のとおりです。
directory named test opened.
file2
.
test2
file1
..
私が間違っていなければ、if ステートメントは . および..ディレクトリですが、そうではありません。これの目標は、再帰的なディレクトリトラバーサルになることですが、. そして..私が本当に先に進むことができないディレクトリ。
基本的に、文字列を比較する方法がわかりません。