как правильно указать путь? С++
код:
#include <iostream>
#include <windows.h>
#include <Lmcons.h>
using namespace std;
int main()
{
TCHAR name[UNLEN + 1];
DWORD size = UNLEN + 1;
system(L"C:\\Users\\"__Имя Пользователя__"\\Downloads\\Hell.rar");
}
как вставить имя пользователя вместо Имя Пользователя ?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вот типичный пример XY-проблемы. Ведь на самом деле вам надо найти не имя пользователя, а путь к папке загрузок, так? Но вы почему-то решили, что эта папка будет лежать именно по такому пути, с именем пользователя в папке Users, да еще и на диске C:... Долго бы вы там искали эту папку у меня на машине :)
Итак, получить папку загрузок можно с помощью функции SHGetKnownFolderPath, примерно так:
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <shlobj_core.h>
using namespace std;
#pragma comment(lib,"Ole32")
#pragma comment(lib,"Shell32")
int main(int argc, char * argv[])
{
KNOWNFOLDERID id = FOLDERID_Downloads;
wchar_t * path = nullptr;
if (S_OK == SHGetKnownFolderPath(id, 0, 0, &path))
{
wcout << path;
}
CoTaskMemFree(path);
}
P.S. А если хочется получить имя пользователя, то лучше всего использовать еще одну функцию WinAPI — GetUserName...