2

と に代わるものはありますfindfirst()findnext()。私は使用microsoft visual c++ 2010 expressしていますが、これらの機能もヘッダーファイルもサポートしていません<dir.h>か?

これらの関数を使用してディレクトリ内のファイルの数を数えようとしていましたが、これらの関数がないと問題が発生しています。

上記の機能に代わるものがない場合は、他の方法があります。? 他のいくつかの機能?

4

4 に答える 4

3

「iammilind」がコメントで述べたように (おそらく回答に値する)、Windows API のFindFirstFileおよびFindNextFile関数を使用できます。構造体を埋めて、無効なハンドルに到達するまで後者を反復処理するだけです。これらの関数コンソールで動作しますが、'Windows.h' ヘッダーを含める必要があります。

ただし、これらの関数にはいくつかの落とし穴があります。Windows 以外でコードを実行する場合は、別のヘッダー/ライブラリ (vBx で言及されている Boost::Filesystem など) を使用する方がよいでしょう。

また、これが役立つ場合があります: C++ - すべてのファイル名をロード + 現在のディレクトリ内のファイル数をカウント + ファイル拡張子をフィルタ

于 2011-07-04T09:26:55.473 に答える
1

そのためにBoost.Filesystemを使用できます

于 2011-07-04T06:06:02.883 に答える
1

Windows では、_findnext、_findnext64、_findnexti64、_wfindnext、_wfindnext64、_wfindnexti64 を使用できます。

于 2012-09-21T17:28:05.923 に答える