el_*_*yan 3 c++ formatting boost wchar-t
我正在尝试使用boost格式化字符串:
wchar_t *msg;
// fill msg
boost::format("Error: %s") % msg).str()
Run Code Online (Sandbox Code Playgroud)
我得到的不是msg的内容,是以十六进制表示的msg的地址.
这些事情没有成功:
boost::format("Error: %s") % new std::wstring(msg)
boost::format("Error: %1%") % msg
Run Code Online (Sandbox Code Playgroud)
注意:即使我认为它无关紧要,但我填写msg的方式是:
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | 40, NULL, GetLastError(), MAKELANGID(0, SUBLANG_ENGLISH_US), (LPTSTR) &msg, 512, NULL);
Run Code Online (Sandbox Code Playgroud)
和Visual Studio Watch正确显示msg的内容.
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |