我试图获取路径(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";
如何将这些组合成一个变量?
答案 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函数将右侧字符串附加到左侧缓冲区。它假定目标有连接的空间。如果没有足够的空间,则是未定义的行为。因此,检查是否有足够的空间是个好主意。