C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 171 を表示中)
■98603 / )  Re[1]: テキストファイルだけ数えたい
□投稿者/ とっちゃん (751回)-(2021/12/07(Tue) 00:52:31)
No98600 (ばんじ さん) に返信
> フォルダ内のサブディレクトも含めたテキストファイルだけの数を数えたいです。
> 下記のコードだとテキストファイル以外も含めたフォルダ内のすべてのファイルの数を数えてしまいます。
> _T("\\*.txt")にするとテキストファイルを数えますが、サブディレクトリ内のテキストファイルまで数えてくれません。
> どうすればいいでしょうか?よろしくお願いします。
> 

ファイル数をカウントするところで、問答無用のでカウントアップしていますが、
以下のようにファイルのみかつ特定の拡張子のみを対象としてカウントしないとだめなのでは?

具体的には以下のような感じでカウントする必要があると思います。

if( (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTDORY) ){
  if( path != _T(".") && path != _T("..") ){
    result += file_count_native( src + _T('\\') + path );
  }
}
else{
  // ここでファイルの種類を見てテキストファイルとするものを数える(とりあえず拡張子が.txtを対象)
  if( lstrcmpi( PathFindExtension( wfd.cFileName, ".txt" ) == 0 ){
    ++result;
  }
}


返信 編集キー/


管理者用

- Child Tree -