ファイルの検索の方法 – プログラミング – Home

通知
すべてクリア

[解決済] ファイルの検索の方法


さおり
 さおり
(@さおり)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

こんにちは。さおりと申します。
ファイル検索の方法で教えてほしいことがあります。
環境は、WinMe VC++6.0 MFCです。

現在、ファイル検索をするために、FindFirstFileを使用しています。
それで、ビットマップファイルのみ検索する場合などは、最初の引数に
*.bmpなどと書いています。

ただ大文字と小文字が区別されちゃうので、bmpを検索したあとに、
BMPでまた検索するというふうにしております。

そこでお聞きしたいのは、BMP,bmp,Bmp,bMp,bmPなどの拡張子の
ものをすべて検索したい時はどのようにするのでしょうか?
考えられる組み合わせのぶんだけ、FindFirstFileとFindNextFileを
繰り返す必要があるのでしょうか?

別の関数若しくは簡単なやり方がありましたら教えて下さい。
宜しくお願いします。


引用未解決
トピックタグ
駄犬
 駄犬
(@駄犬)
ゲスト
結合: 23年前
投稿: 59
 

ではFindFirstFileExはどうでしょう。
既定の検索条件では、大文字と小文字を区別しません。となっています。


返信引用
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

実際にやってみましたが、CFileFindを使っても、FindFirstFile()APIを使っても
大文字小文字の区別はありませんでしたよ。Windows2000ですけど。

WIN32_FIND_DATA fd;
HANDLE hFind = FindFirstFile( C:\\*.png, &fd);
if( hFind != INVALID_HANDLE_VALUE )
{
do
{
TRACE(%s\n, fd.cFileName );
}
while( FindNextFile( hFind, &fd ) );
FindClose(hFind);
}


返信引用
canto
 canto
(@canto)
ゲスト
結合: 23年前
投稿: 5
 

StrStrIを使ってみてはいかがでしょう。


返信引用
さおり
 さおり
(@さおり)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

こんにちは。さおりです。
しばらくPCから離れていたため返事が遅れてしまいました。
もうしわけございません。

FindFirstFileは自分でも確認しましたが、確かに大文字と小文字の
区別はありませんでした。

以前、*.*で検索したあとに自分でstrstrを使ってフィルターを
かけていたため大文字・小文字の区別があったのですが、
それをFindFirstFileに大文字・小文字の区別があるというふうに
勘違いしてしまっていました。お騒がせしてしまって申し訳ありません。

ただ、FindFirstFileEx、CFileFind、StrStrIなる関数が
あることを知ることができたので勉強になりました。
レスをくださった方々、ありがとうございます。
今後ともよろしくお願いします。


返信引用
さおり
 さおり
(@さおり)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

すみません、解決チェック忘れました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました