gpt4 book ai didi

c++ - 将 byteArray 转换为字符串

转载 作者:行者123 更新时间:2023-11-28 07:01:41 26 4
gpt4 key购买 nike

我是 C++ 初学者,尝试从读卡器获取输出:为此,我使用了一个 DLL。我的问题是我的响应返回一个 byteArray,我想将它转换为普通字符串。所以我目前的实际代码是:

res = CT_data(ctn, &dad, &sad, 5, command, &lenr, response);
printf("\nThe Response: %s", response);

这会打印到我的控制台:

The Response: ò

但在文档中它说,如果与设备的连接正常,它应该返回 95009000!

所以我想我必须转换response!我怎样才能做到这一点?谢谢。

来自文档:

nSuccess = CT_data(CT_data(ctn,dad,sad,lenc,commando,lenr,response)

ctn:整数,16 位,无符号(内部 Terminalnummer 和 CT_INIT)
dad: Integer, 8 Bit, Unsigned (Destination-Address)
sad:整数,8 位,无符号(源地址)
lenc: Integer 16 Bit, Unsigned ( Länge des Commandos )
突击队:字节数组,(Kommando)
lenr: Integer 16 Bit, Unsigned (Länge der Response)
响应:字节数组(Antwort)
nSuccess:整数,8 位,有符号(0 = Erfolgreich,-1 = Fehlerhaft)

nSuccess = CT_data(ctn,dad,sad,lenc,command[],lenr,response[])  

Wenn nSuccess = 0,dann response[] prüfen。 Wenn response = 9000 or 9500 war das CT_Reset erfolgreich。 Als nächstes dann die Kartenanforderung

typedef CHAR (WINAPI *CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, UCHAR*);

最佳答案

文档中提到的响应是否可以是十六进制的 2 个字节?那么响应长度,即CT_data()调用的返回值,应该是2;响应数组的第一个字节应为 0x90 或 0x95,即 144 或 149,而第二个字节应始终为 0。不确定在您的代码页中哪个字节呈现 ò。

关于c++ - 将 byteArray 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22364802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com