1
  1. ファイルを取得してハッシュ値を返す md5 ハッシャーを作成しました。
  2. 「hFind = FindFirstFile(dir, &data)」を使用して、ディレクトリのファイルを一覧表示しました。
  3. これらのファイルのパスをハッシュ関数に渡すには、ファイル名を FILL PATH に連結する必要があります (どちらも LPCTSTR です)。

My FileHashComputing Snippet = ファイルの hashValue の計算

コードスニペット:

HANDLE hFind;
WIN32_FIND_DATA data;
LPCTSTR dir = L"c:\\*.*";
LPCTSTR FNAME;
LPCTSTR FULLPATH = L"c:\\";

hFind = FindFirstFile(dir, &data);
FindNextFile(hFind, &data);
printf("%ws\n", data.cFileName);

FNAME = data.cFileName;
printf("%ws\n", FNAME);
4

1 に答える 1

1

LPCTSTR は単なるポインターです。それらを連結しても意味がありません。2 つの文字列を連結するには、結果を格納するためのメモリが必要ですが、そのためにメモリを割り当てていません。ポインターやバッファーを扱う手間をかけずに文字列を操作するには、std::wstring クラスを使用します。

#include <string>

std::wstring full(L"C:\\");
full += data.cFileName;
wprintf(L"%ws\n", full.c_str());
于 2013-06-14T00:54:36.293 に答える