- ベストアンサー
ファイル or ディレクトリの判別
cherry_moonの回答
現実的にはnitscapeさんの方法でほぼ問題ありませんが、 正確には、S_IFMT と論理和をとった結果が S_IFDIR と一致するものがディレクトリです。 (sb->st_mode & S_IFMT) == S_IFDIR #うちの環境では、_S_IFDIR ではなく、S_IFDIR でした。 /usr/include/sys/stat.h をみてみればわかると思います。 #/usr/include も環境によって違います。
関連するQ&A
- ディレクトリの判別
FreeBSD5.4でstat()関数のS_ISDIRを使ってディレクトリかどうかを判別したいのですが、 S_ISDIRでは普通のファイルもディレクトリと認識してしまいます。もしご存知の方がいらっしゃいましたら、何卒ご教授くださいませ。 --------------------------------------------- #include <stdio.h> #include <string.h> #include <sys/types.h> #include <dirent.h> #include <sys/stat.h> #include <stdlib.h> int createFileList(char *directoryName){ DIR *directoryId; struct dirent *directoryPointer; struct stat fi; directoryId=opendir(directoryName); while((directoryPointer=readdir(directoryId))!=NULL){ stat(directoryPointer->d_name,&fi); if (!S_ISDIR(fi.st_mode)) printf("%s\n",directoryPointer->d_name); } closedir(directoryId); return 0; } ---------------------------------------------
- ベストアンサー
- C・C++・C#
- stat関数をJavaで実現するには?
C言語をJavaで置き換える質問です。 C言語のプログラムで下記のようなファイルチェックを行っています。 struct stat st; stat(file, &st); if ((st.st_mode & 040000) == 0 || (st.st_mode & 020000) == 0) { エラー処理 } 上記の処理をJavaではどのように実現できるでしょうか? 環境は下記の通りです。 OS:Solaris 9 J2SE 5.0 ご教授願います。
- 締切済み
- C・C++・C#
- fstatでファイルがリンクかどうか分かるか
c言語でファイル操作の勉強をしています. 引数にファイル名を与えてプログラムを実行するとして, そこからfstatでそのファイルがリンクかどうかを, 判別する方法はありますか. また,statなら判別できますか? パソコンはunixです. よろしくお願いします.
- ベストアンサー
- C・C++・C#
- ディレクトリ内のファイル名取得
C言語初心者です。 ディレクトリ内のファイル名を出力し、それをテキストファイルに書き込むというプログラムを作成したいのですが、初心者なため何から初めていいのかわかりません。 よろしければ、考え方や手順、サンプルプログラムなど書いていただけたらうれしいです。よろしくお願いいたします。
- 締切済み
- C・C++・C#
- perlのNet::FTPで、ファイルかディレクトリか調べたい
現在、Perlでリモートバックアップする簡単なスクリプトを 書いています。 そのためにNet::FTPモジュールを使っているのですが、 use Net::FTP; $ftp = Net::FTP->new($hostname); $ftp->login($user,$pass); $mydirs = $ftp->ls($backupdir); のようにlsメソッドでファイル一覧を取得した後で、 各ファイルがファイルなのか、ディレクトリなのか 調べたいと思っています。しかしC言語のstat関数の ようなメソッドはNet::FTPにはなさそうです。 どうすれば調べられるか、アドバイスいただけないでしょうか?
- ベストアンサー
- Perl
- ファイルオープン&ファイルクローズ
C言語でデータの種類ごとにディレクトリーを用意し、データを振り分けたいのですが。。 fopenすると同じディレクトリーでしかファイルを呼び出したり、保存したりしかできないですよね。ちがうディレクトリーのファイルの呼び出し、ファイルの保存は出来ないでしょうか?また、ディレクトリーの作成なんてことは、C言語ではできないでしょうか? 誰か知っている人がいましたら、よろしくお願いします。
- ベストアンサー
- C・C++・C#
お礼
お礼が遅れて申し訳ありません。無事、解決する事が出来ましたm(__)m