方法的声明如下:
//some.h
void TDES_Decryption(BYTE *Data, BYTE *Key, BYTE *InitalVector, int Length);
我从以下代码调用此方法:
//some.c
extern "C" __declspec(dllexport) bool _cdecl OnDecryption(LPCTSTR stringKSN, LPCTSTR BDK){
TDES_Decryption(m_Track1Buffer, m_cryptoKey, init_vector, len);
return m_Track1Buffer;
}
Where as data type of m_Track1Buffer
is BYTE m_Track1Buffer[1000];
Now i want to make some changes in above method ie want to return the String in hex
instead of Byte
。我应该如何将此 m_Track1buffer
转换为 Hex string
原文由 Amit Pal 发布,翻译遵循 CC BY-SA 4.0 许可协议
在循环中使用
stringstream
,sprintf
和其他函数根本不是 C++。这对性能来说很糟糕,而且这类函数通常会被调用很多(除非你只是在日志中写一些东西)。这是一种方法。不鼓励直接写入
std::string
的缓冲区,因为特定的 std::string 实现可能会有不同的行为,这将不起作用,但我们通过这种方式避免了整个缓冲区的一个副本: