【发布时间】:2013-06-13 23:17:23
【问题描述】:
- 我创建了一个 md5 散列器,它接受一个文件并返回散列值。
- 我使用了“hFind = FindFirstFile(dir, &data)”来列出目录中的文件。
- 为了将这些文件的路径传递给我的哈希函数,我需要将文件名连接到填充路径(两者都是 LPCTSTR)。
我的 FileHashComputing 片段 = computing hashValue of a file
代码sn-p:
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);
【问题讨论】:
-
仅使用
LPCWSTR会比LPCTSTR更容易,并允许将(std::wstring(FILEPATH) + FILENAME).c_str()传递给函数(但我建议存储std::wstrings 并执行c_str()当您需要将其传递给函数时)。 -
没有工作...只是打印没有文件名的初始路径
-
我以前从未见过
%ws。你用的是什么编译器?它似乎不是我在网上可以找到的任何标准的一部分。
标签: c++ concatenation filepath concat