gpt4 book ai didi

c++ - 如何将 OutputDebugString 与 std::string 一起使用?

转载 作者:行者123 更新时间:2023-11-30 00:43:56 26 4
gpt4 key购买 nike

我正在尝试:

std::string line = "bla";
OutputDebugString( line.c_str() );

它不会编译,说它不能将 const char* 转换为 LPCWSTR。有没有办法把std::string输出到调试窗口?

我也不明白为什么这在此处的教程视频中似乎有效:https://youtu.be/EIzkeFTpMq0?list=PLqCJpWy5Fohfil0gvjzgdV4h29R9kDKtZ&t=2101

最佳答案

您的项目配置为针对 Unicode 进行编译,因此 OutputDebugString() 映射到 OutputDebugStringW(),它需要一个 const wchar_t* 作为输入,而不是 const char*,因此出错。

视频中的代码之所以有效,是因为演示者的项目配置为针对 ANSI 进行编译,因此 OutputDebugString() 映射到 OutputDebugStringA()

因此,您需要:

  • 使用 std::wstring 而不是 std::string:

    std::wstring line = L"bla";
    OutputDebugString( line.c_str() );
  • 使用 OutputDebugStringA() 代替 OutputDebugString():

    std::string line = "bla";
    OutputDebugStringA( line.c_str() );

关于c++ - 如何将 OutputDebugString 与 std::string 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51643823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com