如何使用 Oscar Anderson 的 C 库获取 isomsg 的长度 假设我有这个:
enter code here
DL_ISO8583_HANDLER isoHandler;
DL_ISO8583_MSG isoMsg;
DL_UINT8 buf[MAX_DATASIZ];
DL_UINT16 bufSize;
DL_ISO8583_DEFS_1987_GetHandler(&isoHandler);
/* initialise ISO message */
DL_ISO8583_MSG_Init(NULL,0,&isoMsg);
(void)DL_ISO8583_MSG_SetField_Str(0,"0320",&isoMsg);
(void)DL_ISO8583_MSG_SetField_Str(2,"4401410145200145",&isoMsg);
(void)DL_ISO8583_MSG_SetField_Str(3,"310000",&isoMsg);
(void)DL_ISO8583_MSG_SetField_Str(4,"000000001045",&isoMsg);
(void)DL_ISO8583_MSG_SetField_Str(11,"000015",&isoMsg);
(void)DL_ISO8583_MSG_Pack(&isoHandler,&isoMsg,&buf[7],&bufSize);
如何获取我的 isoMsg 长度?
最佳答案
从我这里看到的是DL_ISO8583_MSG
的定义:
struct DL_ISO8583_MSG_S
{
/* static memory details */
DL_UINT8 *sPtrNext; /* next static point - NULL if dynamic mode */
DL_UINT8 *sPtrEnd; /* end of the static buffer (if static mode) */
/* NB bitmap is not stored, it is implied if the field is set */
/* fields */
DL_ISO8583_MSG_FIELD field[1+kDL_ISO8583_MAX_FIELD_IDX];
};
typedef struct DL_ISO8583_MSG_S DL_ISO8583_MSG;
只需解析DL_UINT8 指针
并将计数存储到变量中即可。
关于c - 如何使用 Oscar Anderson 的 ISO8583 库获取消息长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760374/