- ベストアンサー
ファイル or ディレクトリの判別
C言語を勉強中です。 stat()を使用してファイルかディレクトリかの判別を行います。 ヘルプを見ると、構造体のst_modeを調べればいいという所まではわかりました。 この構造体のメンバをどう使用すれば、判別出来ますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
現実的にはnitscapeさんの方法でほぼ問題ありませんが、 正確には、S_IFMT と論理和をとった結果が S_IFDIR と一致するものがディレクトリです。 (sb->st_mode & S_IFMT) == S_IFDIR #うちの環境では、_S_IFDIR ではなく、S_IFDIR でした。 /usr/include/sys/stat.h をみてみればわかると思います。 #/usr/include も環境によって違います。
その他の回答 (1)
- nitscape
- ベストアンサー率30% (275/909)
回答No.1
_S_IFDIRのビットが立っていればフォルダ、そうでなければフォルダではない、と判断できます。if(~ & _S_IFDIR)のように使えばいいと思います。
質問者
お礼
お礼が遅れて申し訳ありません。無事、解決する事が出来ましたm(__)m
お礼
お礼が遅れて申し訳ありません。無事、解決する事が出来ましたm(__)m