处理这些疯狂的字符串和数组让我头疼。

到目前为止,这是我的代码

wchar_t mypath[MAX_PATH];
wchar_t temppath[MAX_PATH];

GetModuleFileName(0, mypath, MAX_PATH);
GetTempPath(MAX_PATH, temppath);
CreateDirectory(???, NULL);

前两个Windows API函数使用LPWSTR变量。第三种使用LPCWSTR。主要区别是什么?获得TEMP目录的路径后,我想在其中创建一个名为“test”的新目录。这意味着我需要将(L“test”)附加到我的“temppath”变量中。有人可以给我一些有关如何使用这些数组的提示。这就是使C++痛苦的原因。为什么每个人都不能只为字符串选择一种数据类型。 wchar_t甚至有什么用?很难使用和操纵。

谢谢你们!

最佳答案

使用 PathCombine() ,例如:

wchar_t temppath[MAX_PATH+1] = {0};
GetTempPath(MAX_PATH, temppath);

wchar_t mypath[MAX_PATH+8] = {0};
PathCombineW(mypath, temppath, L"test");

CreateDirectoryW(mypath, NULL);

关于c++ - 用C++连接两个WCHAR_T数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17496248/

10-08 21:18