2011-07-25 15 views
0

私はC++の新機能で、複数のファイルを読み込むために以下のコンソールアプリケーションコードを変更しようとしています。理想的にはワイルドカード拡張を使用してください。いくつか私にいくつかのポインタを教えてもらえますか?複数のファイルを読む

http://msdn.microsoft.com/en-us/library/ms916815#odc_wssusageeventlogging_examiningtheusagelogfileformat

-----------編集-------私は特定の[にそれを指しているのではなく、上記のコードを変更する方法である必要がある何

filename.log]はディレクトリ名をポイントし、そのディレクトリ内のすべてのログファイルを処理させます。

--------------ツールのVisual Studio 2010で-----

Win32コンソールアプリケーションプロジェクトC++

で[勝利32ビット上で実行するためにはプラットフォーム]

+0

ファイル名には、すべてではないにしてもファイルシステムにワイルドカード文字を使用することはできません。どのプラットフォームを使用していますか、実際に何を達成したいのですか? – AJG85

+0

1) 'main'でその厄介なコードを全て取り出し、それを関数に入れます。2)引数として渡された(複数の)ファイル名をメインに繰り返し、関数を呼び出す。3)ワイルドカードを扱う方法を見つけ出す。どの部分に助けが必要ですか? – Beta

+0

後で関数に書き直す必要があります。私は、複数のファイルについて助けが必要な場合は、ディレクトリを指し、コードがそこに含まれるすべてのファイルを読み込ませるようにします。 – van

答えて

0

ブーストライブラリを使用する場合は、 this postをご利用ください。 C++/CLIのようなものを使用しているなら、これも同様に.NETでのサポートがあります(私はC++/CLIを使用していないと仮定しています)。あなたが自由に使えるツールを指定すれば、より有向な答えを得ることができます。

+0

こんにちはTodd、Visual Studio 2010をC++で使用しているWin32コンソールアプリケーションを使用しています – van

1

ディレクトリにあるファイルをWin32 APIを使用して表示すると、this exampleに従うことができます。そこから、要求に応じて複数のファイルを処理できるように、そのコードをアプリケーションに組み込むことは比較的簡単です。

特に、FindFirstFile APIは、ファイルを検索するときにワイルドカードを使用できます。

+0

Chadのおかげで、私の引数はchar型ですが、TCHAR 'argv [1]'に変更する必要があります? – van

+0

char *で取るAPIの非ユニコードバージョンがあります。この例で使用されているTCHARは、ASCII実行可能ファイルの場合は 'char'、Unicode実行可能ファイルの場合は' wchar_t'のいずれかになるマイクロソフト固有のtypedefです。 ASCII文字セット(Project-> Properties-> Generalの下)でビルドしている場合は、自動的に 'char'型のtypedefが得られます。 – Chad

関連する問題