1

FindFirstFile と FindNextFile で問題が発生し続けています。すべての dll を配列に一覧表示する必要がありますが、ファイルを一覧表示することはできません。MSDN のサンプル コードを使用して編集しようとしましたが、関数に間違った型の変数を渡すか、うまくいきません。私が今持っているコードは、混乱している場合は申し訳ありませんが、それを機能させるためにあらゆることを試みています。私も使用していました。これは、dllが格納されるため、必要なものargv[1]のディレクトリを提供すると信じているからです。.exe私が試したすべての例が機能しない理由と、機能するように修正できない理由に完全に混乱しています。

WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;

string directorySearch = "E:\\My Documents\\Visual Studio 2010\\Projects\\SEP-Asignment-One\\Debug\\*";

// Find the first file in the directory.
hFind = FindFirstFile(LPCWSTR("E:\\My Documents\\Visual Studio 2010\\Projects\\SEP-Asignment-One\\Debug\\*"), &FindFileData);

if (hFind == INVALID_HANDLE_VALUE) 
{
  printf ("Invalid file handle. Error is %u.\n", GetLastError());
} 
else
{
  printf ("First file name is %s.\n", FindFileData.cFileName);

                    // List all the other files in the directory.
  while (FindNextFile(hFind, &FindFileData) != 0) 
  {
     printf ("Next file name is %s.\n", FindFileData.cFileName);
  }
  FindClose(hFind);

任意のヘルプが優先されます。

4

2 に答える 2

4

std::wstring、 のようなワイド文字列リテラルを使用し、含める前L"Hello"に定義することを忘れないでください(ただし、Visual Studio プロジェクトでは既定で行われます)。UNICODE<windows.h>

于 2012-11-25T10:41:46.903 に答える
0

の代わりに hFind = FindFirstFile(LPCWSTR("...")...、試してください hFind = FindFirstFile(_T("...")

于 2012-11-25T10:43:49.030 に答える