Запись в папку документов пользователя C++

Я пытаюсь записать некоторую информацию в папку документов пользователя (например. C:Documents и настройки[имя пользователя]), но я не могу узнать, как программно захватить путь. Есть ли способ сделать это? C++, не используя .Сеть.

спасибо!

2 ответов


SHGetFolderPath С помощью CSIDL_PERSONAL можно использовать для получения папки документов пользователя.

WCHAR path[MAX_PATH];
HRESULT hr = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL,
                             SHGFP_TYPE_CURRENT, path);

вы могли бы сделать это :

wchar_t *pUSERPROFILE;
size_t len;
_wdupenv_s( &pUSERPROFILE, &len, L"USERPROFILE" );
wstring userprofile = pUSERPROFILE;
free (pUSERPROFILE);    

_WDUPENV_S MSDN