concat LPCTSTR字符串

时间:2013-06-13 23:17:23

标签: c++ concatenation filepath concat

  1. 我创建了一个md5 hasher,它接受一个文件并返回哈希值。
  2. 我使用“hFind = FindFirstFile(dir,& data)”列出目录的文件。
  3. 为了将这些文件的路径传递给我的哈希函数,我需要将FILE NAME连接到FILL PATH(两者都是LPCTSTR)。
  4. 我的FileHashComputing Snippet = computing hashValue of a file

    代码段:

    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);
    

1 个答案:

答案 0 :(得分:1)

LPCTSTR只是指针。连接它们是没有意义的。要连接两个字符串,您需要一些内存来包含结果,但是您没有为此分配任何内存。要使用字符串而不用处理指针和缓冲区的麻烦,请使用std :: wstring类。

#include <string>

std::wstring full(L"C:\\");
full += data.cFileName;
wprintf(L"%ws\n", full.c_str());