使用占位符格式化消息
FormatMessage with placeholders
CString ErrorMessageFromErrorCode(DWORD错误代码){void*pMsgBuf=NULL;::格式化消息(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,NULL,errorCode,MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),(LPTSTR)&pMsgBuf,0,NULL);C字符串结果;if(pMsgBuf){结果=(LPTSTR)pMsgBuf;LocalFree(pMsgBuf);}if(result.Length()==0)result=_T("未知错误");返回结果;}
当使用参数2调用时,此函数返回"系统找不到指定的文件。"。当使用0xC1调用时,它返回"未知错误"。Microsoft错误查找实用程序显示0xC1:"%1不是有效的Win32应用程序。"。因此,当错误消息包含占位符时,我的函数将不起作用。有没有一种通用的方法可以在不了解错误代码的情况下获得与错误查找相同的结果?
尝试将FORMAT_MESSAGE_IGNORE_INSERTS
添加到标志中。
相关文章:
- boost::进程间消息队列引发错误
- 在线编译器中的分段C++没有打印消息
- C++错误消息*成员参考.**初学者*
- C++格式化输出问题
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 如何通过参数抛出错误消息
- 从服务器传输到客户端的消息不会出现
- 格式化浮点值:返回默认值
- ROS2 动态消息模板
- C++秘密消息学校作业
- glad 导致 glfwSwapBuffers 返回错误消息
- 从函数(不抛出函数)返回异常以进行消息格式化?
- 字符* 文本消息[] 如何在内存中格式化?
- 格式化输出以显示在错误列表的消息部分中
- 如何使用可选的格式化消息实现符合标准的断言宏?
- 网络消息格式化很多字符,int,在CC++中转换
- 如何在不将字符串对象嵌入自定义异常类的情况下重新格式化错误消息
- 使用boost program_options处理帮助消息,删除默认值或重新格式化帮助消息
- 使用占位符格式化消息