C++ VS 2010 wstring未显示在输出窗口中

C++ VS 2010 wstring未显示在输出窗口中,c++,visual-studio-2010,wstring,C++,Visual Studio 2010,Wstring,我想将一个wstring输出到输出窗口(我希望这就是它的英文名称) 但事实并非如此 有人知道我哪里出错了吗?您可能想尝试使用 在自VS2005以来的默认Unicode版本中,OutputDebugString()扩展为OutputDebugStringW()(即API的Unicode UTF-16版本,而ANSI版本为OutputDebugStringA()) 由于OutputDebugString[W]需要原始的C字符串指针,因此可以使用std::wstring::C_str()方法将std

我想将一个wstring输出到输出窗口(我希望这就是它的英文名称)

但事实并非如此

有人知道我哪里出错了吗?

您可能想尝试使用

在自VS2005以来的默认Unicode版本中,
OutputDebugString()
扩展为
OutputDebugStringW()
(即API的Unicode UTF-16版本,而ANSI版本为
OutputDebugStringA()

由于
OutputDebugString[W]
需要原始的C字符串指针,因此可以使用
std::wstring::C_str()
方法将
std::wstring
的内容传递给上述API:

// std::wstring sDebug
....
OutputDebugString( sDebug.c_str() ); // (is OutputDebugStringW() in Unicode builds)

尝试
OutputDebugStringW
<默认情况下,code>std::wcout进入控制台窗口(它是
stdout
要进入的内容)。wcout不会这样做。使用OutputDebugStringW(),如果您还告诉我如何将我的wstring转换为LPCWSTR,那就太好了。我想你已经看到我是新手了。@tMight,查一些文档(我知道这里有很多重复的文档),你会发现
c_str()
data()