C++ 如何将控制台的输入存储到wchar\t变量?

C++ 如何将控制台的输入存储到wchar\t变量?,c++,cin,wchar-t,C++,Cin,Wchar T,我正在创建一个控制台程序,该程序将通过控制台接收来自用户的目录,并将其存储在一个wchar_\t变量中 例如,这可能是用户的输入: C:/Users/Skipher/Destop/test.txt 我找到了std::wcin,似乎已经在wchar\t变量中写入了一些内容。但是,当我尝试再次使用std::wcout将其打印到控制台时,它只打印出整个目录中的C 我是否错误地写入了wchar\t变量?我看到wchar\u t变量以L“某种字符串”的形式保存值。如何确保正确写入我的值 std::str

我正在创建一个控制台程序,该程序将通过控制台接收来自用户的目录,并将其存储在一个wchar_\t变量中

例如,这可能是用户的输入:

C:/Users/Skipher/Destop/test.txt
我找到了
std::wcin
,似乎已经在wchar\t变量中写入了一些内容。但是,当我尝试再次使用
std::wcout
将其打印到控制台时,它只打印出整个目录中的
C

我是否错误地写入了wchar\t变量?我看到wchar\u t变量以
L“某种字符串”
的形式保存值。如何确保正确写入我的值

std::string stringPath;
std::cin.ignore();
std::getline(std::cin, stringPath);
std::wstring wstrPath = std::wstring(stringPath.begin(), stringPath.end());
const wchar_t* wcharPath = wstrPath.c_str();
mFilePath = (pxcCHAR*)wcharPath;
在调试期间,我看到wstrPath具有我想要的值:
L“C:/Users/Skipher/Destop/test.txt
但是,wcharPath的值为
0xcccc


最后,我需要将值存储到
pxcCHAR*
变量
mFilePath
,它是SDK中提供的wchar\u t*的typedef。如何将
std::string
转换为
pxcCHAR*

包装整个代码或仅包装wcout(两种方法都尝试,我不太确定哪种方法有效…)在while循环中。有点像这样:

    while (1 == 1)
{
    wchar_t someRandomVariable;
    wcout << "Input Directory: ";
    wcin >> someRandomVariable;
    wcout << "Directory: " << someRandomVariable;

}

wchar\u t
类型的变量只能包含一个字符。您可能正在查找
std::wstring
请提供一个。
Input Directory: C:/Users/Skipher/Destop/test.txt
Directory: C:/Users/Skipher/Destop/test.txt