获取路径并附加文件名

时间:2017-02-12 20:32:42

标签: c++ windows winapi

我试图获取路径(appdata)并附加文件名(smss.dll),并将这两者合并为C:\users\username\appdata\roaming\smss.dll 我已经有了这个:

static char appdata[MAX_PATH+1];
SHGetSpecialFolderPathA(HWND_DESKTOP, appdata, CSIDL_APPDATA, FALSE);

LPCSTR target = "smss.dll";

如何将这些组合成一个变量?

2 个答案:

答案 0 :(得分:4)

您可以使用PathAppend(仅限MAX_PATH个字符),或从Windows 8开始使用PathCchAppendEx

答案 1 :(得分:-3)

static char appdata[MAX_PATH+1];
SHGetSpecialFolderPathA(HWND_DESKTOP, appdata, CSIDL_APPDATA, FALSE);

strcat(appdata, "\\smss.dll");

strcat函数将右侧字符串附加到左侧缓冲区。它假定目标有连接的空间。如果没有足够的空间,则是未定义的行为。因此,检查是否有足够的空间是个好主意。