我是 C++ 的初学者,并尝试从读卡器获取输出:为此,我使用 DLL。我的问题是我的响应返回一个 byteArray,我想将其转换为普通字符串。所以我目前的实际代码是:
res = CT_data(ctn, &dad, &sad, 5, command, &lenr, response);
printf("\nThe Response: %s", response);
这将打印到我的控制台:
The Response: ò
但是在文档中它说如果与设备的连接正常,它应该返回9500
或者9000
!
所以我觉得我要转型了response
!我怎样才能做到这一点?谢谢。
从文档中:
nSuccess = CT_data(CT_data(ctn,dad,sad,lenc,commando,lenr,response)
ctn:整数,16 位,无符号(interne Terminalnummer aus CT_INIT)
dad:整数,8 位,无符号(目标地址)
sad:整数,8 位,无符号(源地址)
lenc:整数 16 位,无符号(Länge des Commandos )
commando: Byte-Array , (Kommando)
lenr: Integer 16 Bit, Unsigned (Länge der Response)
response: Byte-Array (Antwort) nSuccess
: Integer, 8 Bit, Signed ( 0 = Erfolgreich, -1 = Fehlerhaft)
nSuccess = CT_data(ctn,dad,sad,lenc,command[],lenr,response[])
Wenn nSuccess = 0, dann response[] prüfen。Wenn 响应 = 9000 或 9500 战争 das CT_Reset erfolgreich。其他人知道 Kartenanforderung
typedef CHAR (WINAPI *CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, UCHAR*);