C++ 如何将控制台的输入存储到wchar\t变量?
我正在创建一个控制台程序,该程序将通过控制台接收来自用户的目录,并将其存储在一个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
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