ファイルを検索するには?

解決


みかん  2002-04-20 07:51:46  No: 50101

フォルダ内のファイル名を取得するにはどうすれば良いのでしょうか?
例:「A」フォルダ内の「B.c」「C.h」のファイル名を取得したい


テム  2002-04-21 07:40:11  No: 50102

はじめましてテムといいます。よろしく。

VisualC++で、フォルダ内のファイルを検索するのでしたら、
FindFirstFileとFindNextFileで検索できます。
ちなみに、HANDLEをうけとるのですがCloseHandleで閉じてはいけません。
FindCloseを使ってください。

これでOKですか?


みかん  2002-04-22 21:16:35  No: 50103

テム殿

回答ありがとうございます。

早速試したのですが、DドライブのAフォルダ内のDummyファイルを
検索したいのですが、下記のよう指定しても指定ファイルがないとの
エラーコードが返されてしまいます。
hFile = FindFirstFile( "D:\\A\\Dummy", lpFileData );
どこか間違っているのでしょうか?
ちなみに、OSはWin2000です。<-これがいけない?


テム  2002-04-23 08:41:36  No: 50104

みかんさんへ。

オフィシャルリファレンスによると、指定されたファイル名と一致するファイルを
『ディレクトリ内から』検索します。とあるので
絶対パスで試したことはないのでもしかしたらそれが原因かもしれません。
またファイルの拡張子がぬけているのも気になります。
拡張子なしのファイルなのでしょうか?
SetCurrentDirectory(D:\\A);
hFile = FindFirstFile("Dummy.*", lpFileData);
if(hFile != INVALID_HANDLE_VALUE)
{
 // みつけた
}
FindClose(hFile);
でやってみてください。これでも拡張子なしのDummyというファイルを拾うことができます。


みかん  2002-04-24 01:23:23  No: 50105

テム殿

回答ありがとうございます。
無事、検索できました。
ありがとうございました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加