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

解決


みかん  2002-04-19 22:51:46  No: 50101  IP: [192.*.*.*]

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

編集 削除
テム  2002-04-20 22:40:11  No: 50102  IP: [192.*.*.*]

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

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

これでOKですか?

編集 削除
みかん  2002-04-22 12:16:35  No: 50103  IP: [192.*.*.*]

テム殿

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

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

編集 削除
テム  2002-04-22 23:41:36  No: 50104  IP: [192.*.*.*]

みかんさんへ。

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

編集 削除
みかん  2002-04-23 16:23:23  No: 50105  IP: [192.*.*.*]

テム殿

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

編集 削除