怎么把unsigned char转成2进制然后填进TEdit里....
mars转好的密文是unsigned char[16]
怎么可以转成2进制数字然后填进TEdit里面么?
[解决办法]
我来也!!!
#include <stdio.h>// ---------------------------------------HRESULT __stdcall CrnByteToHex(const LPBYTE lpInBuf, UINT uInLen, LPSTR &lpOutBuf, UINT &uOutLen){ uOutLen = 0; if (!lpInBuf) return E_INVALIDARG; char sz[3] = { 0 }; uOutLen = uInLen * 2; lpOutBuf = new char[uOutLen + 1]; try { for (UINT i = 0; i < uInLen; i++) { sprintf(sz, "%02X", lpInBuf[i]); strncpy(lpOutBuf + i * 2, sz, 2); } lpOutBuf[uOutLen] = 0x0; return S_OK; } catch (...) { delete []lpOutBuf; return S_FALSE; }}// ---------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){ const UINT uInLen = 5; byte bt[uInLen] = { 0x01, 0x03, 0x05, 0x07, 0x09 }; LPSTR lpOutBuf; UINT uOutLen; HRESULT hr = CrnByteToHex(bt, uInLen, lpOutBuf, uOutLen); if (SUCCEEDED(hr)) { ShowMessage(String().sprintf( "输入: %d, 输出: %d, 结果:\r\n%s", uInLen, uOutLen, lpOutBuf)); delete []lpOutBuf; }}