フォルダ内のファイル名を取得するにはどうすれば良いのでしょうか?
例:「A」フォルダ内の「B.c」「C.h」のファイル名を取得したい
はじめましてテムといいます。よろしく。
VisualC++で、フォルダ内のファイルを検索するのでしたら、
FindFirstFileとFindNextFileで検索できます。
ちなみに、HANDLEをうけとるのですがCloseHandleで閉じてはいけません。
FindCloseを使ってください。
これでOKですか?
テム殿
回答ありがとうございます。
早速試したのですが、DドライブのAフォルダ内のDummyファイルを
検索したいのですが、下記のよう指定しても指定ファイルがないとの
エラーコードが返されてしまいます。
hFile = FindFirstFile( "D:\\A\\Dummy", lpFileData );
どこか間違っているのでしょうか?
ちなみに、OSはWin2000です。<-これがいけない?
みかんさんへ。
オフィシャルリファレンスによると、指定されたファイル名と一致するファイルを
『ディレクトリ内から』検索します。とあるので
絶対パスで試したことはないのでもしかしたらそれが原因かもしれません。
またファイルの拡張子がぬけているのも気になります。
拡張子なしのファイルなのでしょうか?
SetCurrentDirectory(D:\\A);
hFile = FindFirstFile("Dummy.*", lpFileData);
if(hFile != INVALID_HANDLE_VALUE)
{
// みつけた
}
FindClose(hFile);
でやってみてください。これでも拡張子なしのDummyというファイルを拾うことができます。
テム殿
回答ありがとうございます。
無事、検索できました。
ありがとうございました。
ツイート | ![]() |