我想知道如何将当前登录用户的名称作为wstring。
我只发现了类似的LPWSTR示例:
#include <iostream>
#include <windows.h>
#include <Lmcons.h>
using namespace std;
int main()
{
wchar_t name[UNLEN+1];
DWORD size = UNLEN + 1;
if (GetUserNameW( (LPWSTR)name, &size ))
{
cout << "Hello, " << name << "!\n";
}
else
{
cout << "Hello, unnamed person!\n";
}
}
return 0;
}
有人能告诉我如何将其转换为wstring吗?
谢谢。
答案 0 :(得分:1)
调用std::wstring
后,您可以在name
的{{1}}上使用GetUserNameW
的构造函数:
if(GetUserNameW(name, &len))
{
std::wstring strname(name);
std::wcout << L"Hello, " << strname << std::endl;
}
如果您一般性地询问为什么Windows API不支持C ++的std::
开箱即用,那是因为它首先与C兼容。