消息框中的 C++ 异常消息
c++ exception message in messagebox
看似简单却找不到解决办法
我想要这样的东西
catch (Exception^ ex)
{
MessageBoxA(NULL, ex->ToString(), "", MB_OK);
}
但是它说 Plattform::string ^ 与 LPCSTR 不兼容。
Platform::String 是 .NET class,这当然与旧的 char*
.
不兼容
要解决此问题,您需要做两件事。
首先,将 Platform::String
转换为 wchar_t*
,因为它是 unicode 字符串。使用方法Data()
其次,使用 MessageBoxW,因为我们使用的是 unicode,而不是 ANSI。
结果代码应如下所示:
MessageBoxW(NULL, ex->ToString()->Data(), "", MB_OK);
看似简单却找不到解决办法
我想要这样的东西
catch (Exception^ ex)
{
MessageBoxA(NULL, ex->ToString(), "", MB_OK);
}
但是它说 Plattform::string ^ 与 LPCSTR 不兼容。
Platform::String 是 .NET class,这当然与旧的 char*
.
要解决此问题,您需要做两件事。
首先,将 Platform::String
转换为 wchar_t*
,因为它是 unicode 字符串。使用方法Data()
其次,使用 MessageBoxW,因为我们使用的是 unicode,而不是 ANSI。
结果代码应如下所示:
MessageBoxW(NULL, ex->ToString()->Data(), "", MB_OK);