在WCHAR*和wstring之间转换,而不使用构造函数



我有一个wchar数组,需要使用winapi函数将数据写入其中,我想在std::wstring中获得它,我知道std::wstring t(wText);可以工作,但我不能在if语句中声明它,因为它不存在于该范围之外。此外,我不能以这种方式调用构造函数:

    WCHAR wText[256];
    std::wstring t = L"";
    if (somecondition)
    {
        t = t(wText); 
    }

我能做什么?当不满足条件时,我希望wstring等于"",当满足条件时我希望将WCHAR数组放入其中。

您可以通过调用表达式中的构造函数来构造临时std::wstring对象,如下所示:

t = std::wstring(wText);

最新更新