関数 S_ISLNK(file.st_mode) を使用して、特定のファイルがディレクトリまたは通常のファイルに対してシンボリックリンクであるかどうかを確認しようとしています。ただし、シンボリックリンクファイルで確認すると機能しないようです。
これが私のコードです:
if(S_ISDIR(fileStat.st_mode))
{
// DIR - display files in the directory
printf(" DIR ");
fileType = 2;
}else if(S_ISLNK(fileStat.st_mode)){
// LNK - display the name of the file the link is pointing to
printf(" LNK ");
fileType = 3;
}else{
// Display general info only
printf(" REG ");
fileType = 1;
}
ディレクトリのチェックは正常に機能していますが、シンボリック リンク ファイルでプログラムを実行すると、通常のファイルとして表示されます。私が間違っている可能性があることを知っている人はいますか?