c++ - 如何将整数错误代码转换为人类可读的字符串?
问题描述
IBM 竭尽全力记录不同 MQ 相关函数的可能错误代码,但我找不到将整数代码转换为人类可读字符串的现有库函数。
像 libcstrerror(3)
或 OpenSSL 的东西ERR_error_string(3)
......
我想,程序员和操作员应该有一本方便的(如果是折耳的)参考书......
或者该功能是否存在 - 只是不容易找到?
解决方案
MQRC_STR
您可以使用头文件中附带的函数将数字(例如 2035)转换为字符串,例如“MQRC_NOT_AUTHORIZED” cmqstrc.h
。
如果您想要的不仅仅是常量的字符串表示,您可以考虑调用mqrc
随 IBM MQ 的分布式平台版本一起提供的可执行文件,并抓取输出。在我看来,常量的字符串版本对大多数人来说已经足够了。
#include <cmqc.h> /* Include for MQI Constants */
#include <cmqstrc.h> /* Convert MQRC into string */
:
MQCONN(QMName,
&hConn,
&CompCode,
&Reason);
if (Reason)
{
printf("MQCONN to QMgr %.48s failed with reason %d (%s)\n",
QMName, Reason, MQRC_STR(Reason));
:
}
推荐阅读
- xcode - 为什么使用 cmake 生成 xcode 项目时 CMAKE_OSX_DEPLOYMENT_TARGET 不起作用?
- python - 安装fancyimpute时面临的问题
- java - jpa,列中唯一影响另一列
- angular - 使用固定导航栏导航到 Angular 2+ 中的页面
- css - 有没有办法用 :empty 伪类忽略空格?
- javascript - 无法让 javascript 在我的 HTML 表单中显示数据
- javascript - 从 js 树中获取选定的值而不禁用
- python - 使用带有 Tensorflow 的时间序列数据集进行未来预测
- artifactory - 使用自签名证书发布到 Artifactory
- android - 滑动 ViewPager 太快时视频卡住(冻结)