Как объединить два LPCWSTR в C++

Я пытаюсь использовать функцию MoveFile (lpcwstr existing, lpcwstr new). Я хотел бы иметь возможность использовать один из каталогов (представленный LPCWSTR), объединяя различные данные (например: корневые каталоги и потенциальные имена файлов). Несмотря на часы исследований, я не могу понять, как это сделать. Ценю любую помощь.

2 ответов


похоже, вы пытаетесь объединить два LPCWSTR которые представляют элементы путей в Объединенные пути. Если это так, то нужно использовать PathCombine метод

LPCWSTR root = ...;
LPCWSTR name = ...;
WCHAR combined[MAX_PATH];
if (PathCombineW(combined, root, name) != NULL) {
  // Succeeded
}

вы должны использовать _wmakepath_s() для составления широкого пути char.