• ベストアンサー

ファイルやディレクトリの存在確認を行う方法

SHOO-3の回答

  • SHOO-3
  • ベストアンサー率56% (28/50)
回答No.3

環境を Windows に限定してよいのであれば、 GetFileAttributes でチェックすることができます。 以下に例を上げますのでご参考になさってください。 ---- #include <iostream> #include <windows.h> using namespace std; int main(){ switch(::GetFileAttributes(TEXT("filename"))){ case FILE_ATTRIBUTE_DIRECTORY: cout << "is folder" << endl;break; case -1 : cout << "not found" << endl;break; default : cout << "is file" << endl;break; } return 0; }

参考URL:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpfileio/html/_win32_getfileattributes.asp

関連するQ&A

  • ディレクトリ内の全ファイルをオープンする方法

    特定のディレクトリ内に存在する全てのファイルを順次オープン・クローズするプログラムを作成したいと思います。 例えば、特定のディレクトリに下記のファイルがあるとします。 A.txt B.txt このときにA.txtをオープンし内容を読み込みクローズし、次にB.txtを同じようにオープンし内容を読み込んでクローズするプログラムです。内容を読み込んで処理する部分は問題なく、また上記のように存在するファイルが決まっていれば何も問題はないのですが、下記の場合にはどのように存在するファイルを探せばよいのかがわかりません。 ・何ファイルあるかわからない ・存在するファイルは必ずテキスト ・ファイル名は決まっていない(perlで問題なく読み込めるファイル長) なお、特定のディレクトリに存在するファイルを順次全て読み込めればよいので、その読み込む順番にこだわりはありません。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Perl
  • ディレクトリ、ファイルの存在確認法は?

    windowsAPIアプリにおいて (1) ディレクトリc:¥gooが有るかないか知る方法は FindFirstFile を使う方法がありますがもっと簡単にできる関数はないのでしょうか? (2) ファイルc:¥goo.txtが有るかないか知る方法は FindFirstFile を使う方法と openしてみて開くかどうか見る方法が有りますがもっと簡単にできる関数はないのでしょうか? is_exist(”c:¥¥goo”) is_exist(”c:¥¥goo.txt”) が真ならば存在し偽ならば存在しないといったような関数です (1)だけあるいは(2)だけでも知っていれば教えてください

  • fopenで別ディレクトリにファイルをオープンしたい

     LinuxでC言語のプログラムを作っています。書き込みでファイルをオープンする際に、別のディレクトリにファイルを作成したいのです。しかし普通にターミナルの上でやるような指定の仕方だとうまくいきません。  以前にWindows環境でfopenの際のパス指定の質問があったみたいですが、Linuxではどのように指定したらいいでしょう…?よろしくお願いします。

  • 外部ディレクトリの存在確認と変更

    2点質問させて頂きます。 1つ目は、外部ディレクトリの存在を確認する方法はありますでしょうか? もしありましたら、教えて頂きたいと思います。 「外部ファイル」の場合は、fopenなどを使って 存在は確認できたのですが、「外部ディレクトリ」がいまいち分かりません。 file_existsやis_dirは、外部参照の時は使えませんでした。 2つ目は、また外部サーバー絡みなのですが 外部のディレクトリ名、またはファイル名を 変更する事は可能でしょうか? まだ試していませんが、FTP関数を使って出来るかもしれないのですが それ以外の方法で何かありましたら教えて頂けないでしょうか。 rename関数は使えませんでした。 宜しくお願い致します。

    • 締切済み
    • PHP
  • ディレクトリの存在有無の確認方法

    VB6を使っています。 ファイルの存在有無はFileSystemObjectを使って以下のような方法で確認しいますが、ディレクトリの存在有無はどのようにすれば、確かめられるでしょうか? Dim objFileSys As Object Set objFileSys = CreateObject("Scripting.FileSystemObject") If objFileSys.FileExists("C:ABC.XYZ") Then よろしくお願いします。

  • ディレクトリ操作

    PERLでディレクトリの操作をするときの文法を教えていただけないでしょうか。 ディレクトリオープンは判るのですが・・・、 ディレクトリ作成・ディレクトリの名前変更 ディレクトリの削除・ディレクトリの存在確認 が判りません。どうかご指南お願いいたします。

    • ベストアンサー
    • CGI
  • ファイルの存在確認方法について(Java)

    あるディレクトリに、 "ファイルが1つ以上存在する"(=もしくは、"ファイルは0個である")というのを判別する方法はありますでしょうか? 今は、既に存在しているファイル名の一つを使って File objFile = new File("C:\\work\\test.txt"); if (objFile.exists()) {  System.out.println("前回のファイルが残っています。削除してから操作してください"); } というように1ファイルずつ名前を指定して書いているのですが、 上記の「\\work」ディレクトリの中にファイルが複数ある時に全てを記載するのは効率が悪いです。 分かる方、教えてください。

    • ベストアンサー
    • Java
  • fopenでファイルがオープンできません

    $fp = fopen(TEST_FILE, "w") としてオープンしようとすると Warning: fopen(mybasic9.txt): failed to open stream: No such file or directory と、オープンしようとしたファイルがない、と出ます そして、そのファイルをあらかじめ作っておくと OKです。 しかし fopen(TEST_FILE, "w") は該当ファイルがあればそれをオープンし 無ければ、新しく作成する、とFopenの仕様に出ています。 これは、今使っているサーバーの問題でしょうか 何か、避ける方法はないでしょうか よろしくお願いします

    • 締切済み
    • PHP
  • 簡単にファイルやディレクトリの存在を調べる方法(OSはSorarisです)

    c言語でファイルやディレクトリの存在を調べる方法ってどんなのがあります? 今は、以下のやり方でやろうとしています( ****=フルパスファイル名) p = popen( "ls ****, "r" ); fscanf( p, "%s", buf ); if( strcmp( buf, ****, ) == 0 )   ~~~~~~ また、unixでそういうコマンドってありますかね? ファイルが存在したら、1を返しなければ0を返すみたいなものとか

  • [if文]ファイル/ディレクトリの存在有無について

    [if文]ファイル/ディレクトリの存在有無について教えて下さい。 「あるディレクトリ配下にファイル、ディレクトリがない場合、 エラーを出力。」を目的に以下のシェルを作成しました。 if [! -f $DIR/* -a ! -d $DIR/*] nodataend fi しかし、あるディレクトリ配下に複数のファイルが存在すると正常に処理されません。 この場合、どのような条件で指定すればいいのでしょうか。 個人的には条件で指定している*が問題ではないかと思います。 宜しくお願いします!