【问题标题】:VS 2010 wstring not shown in output windowVS 2010 wstring 未显示在输出窗口中
【发布时间】:2013-03-28 18:35:28
【问题描述】:

我想将一个wstring输出到输出窗口(希望是英文的意思)。

但它并没有这样做。

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

【问题讨论】:

  • 试试OutputDebugStringWstd::wcout 默认情况下(它是 stdout 将要进入的任何内容)到控制台窗口。
  • wcout 不这样做。使用 OutputDebugStringW()
  • 如果您还告诉我如何将我的 wstring 转换为 LPCWSTR,您会非常高兴。我猜你已经看出我是新手了。
  • @tmighty,查看一些文档(我知道这里有很多重复的文档),你会发现 c_str()data()

标签: c++ visual-studio-2010 wstring


【解决方案1】:

您可能想尝试使用OutputDebugString() Win32 API

在 Unicode 构建(自 VS2005 以来一直是默认设置)中,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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2015-08-28
    相关资源
    最近更新 更多