関連ファイルがいくつ存在するかを取得するには? – プログラミング – Home

関連ファイルがいくつ存在するかを取得す...
 
通知
すべてクリア

[解決済] 関連ファイルがいくつ存在するかを取得するには?


新人君
 新人君
(@新人君)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

こんにちは。今回は2度目の質問になります。
前回(7/31)は、kuさん、Halさんに答えていただきました。
あの時は本当に助かりました。

それでは、さっそく質問に移りたいと思います。

関連しているファイルがいくつ存在するかを取得するのに
CFileFindクラスのFindFile(),FindNextFile()
を使ってやっているんですが、なんかうまくいきません。
例えば、sinjin1.txt, sinjin2.txt, sinjin...,
というファイルがいくつも存在した場合、このsinjinという
名前をキーにしてファイル数を調べたいと思っていますが、
何か良い方法があったらどなたか教えてください。
お願いします。


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

基本的な方針は、CFileFindクラスのFindFile(),FindNextFile()を使うって事でいいと思います。
ファイル名を列挙する要領で、キーワードに該当するファイル数を数えていきます。
「うまくいかない」ということですが、どんな状況に陥ってるのですか?
もう少し詳しくお願いします。


返信引用
新人君
 新人君
(@新人君)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

sugarさんへ
「どんな状況に陥っている」に対する返答です。

先程質問した関連ファイル数の取得方法ですが、もし膨大な数の関連
ファイルが存在した場合、ループで必要以上にチェックしなければ
いけないのかが分からず困っています。まだ初心者の初心者なので
FindFile(),FindNextFile()の使用方法もわかっていないから
このような状況になっていると思います。


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

MSDNより見つけた例を、以下のようにいじってみました。
sinjin*.*というキーワードにヒットするファイルだけを列挙できると思います。
これなら、関係ないファイルのチェックは不要となるわけですから、
ファイル数も単純なカウントで求められると思います。

あとは、サブフォルダ配下も検索できるようにするなど、
必要に応じていろいろ応用ができると思います。

CFileFind finder;
BOOL bWorking = finder.FindFile(sinjin*.*);
while (bWorking)
{
TRACE(%s\n, finder.GetFileName());
bWorking = finder.FindNextFile();
}


返信引用
新人君
 新人君
(@新人君)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

sugarさん、本当に助かりました。
問題解決です。
こんなに丁寧に教えて下さるとは思っていなかったのと
迅速な返答に対して
すごく感動してしまいました。

本当にありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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