【发布时间】:2014-02-06 04:59:28
【问题描述】:
正如标题所说,我无法在发布模式下将 LPTSTR 转换为 std::string。换句话说,当我这样做时:
LPTSTR lpt;
std::string str = lpt;
这仅在我处于调试模式时有效。编译器说找不到匹配的构造函数。我是不是忘了包括一些东西?
【问题讨论】:
-
也许发布模式已经定义了
UNICODE。只需从一开始就使用PWSTR,或者更好的是std::wstring。 -
就是这样!谢谢:)
-
确保为两个构建都定义了
UNICODE。始终为 Windows 应用程序使用宽字符串。std::wstring是您编写的所有代码的不错选择,但 Windows API 不会使用它,因为它们是 C API。
标签: c++ visual-c++