特定のパスがディレクトリであるかどうかを調べようとしています。
<sys/stat.h>
次のコードを使用する際に存在するstat関数を使用しています。
int isDir(char *path){
printf("%s\n", path);
struct stat file;
stat(path, &file);
printf("%i\n", file.st_mode);
int x;
x = S_ISDIR(file.st_mode);
return x;
}
// I tried this function with the following code.
printf("%i\n", isDir("/home/aladdin"));
printf("%i\n", isDir("/home/aladdn"));
PCでの私のユーザー名はaladdin
そうです。最初のユーザー名は機能し、等しい1
はずです。2番目0
のユーザー名は、という名前のユーザーがいないため、を出力する必要がありますaladdn
。
したがって、前のコードを実行すると、
/home/aladdin
16832
1
/home/aladdn
16832
1
何が悪いのかについて何か考えはありますか?