VC调用dll里面的写数据函数,如何把字符类型转化为byte?
VC调用dll里面的写数据函数,怎么把字符类型转化为byte???
这是DLL里的函数
WORD WJ1608Card_WriteBuy(int iVer,float dblWriteBuy,BYTE* _bWriteTime,BYTE*_bWriteCode)
我想调用这个函数,但不知道怎么把CString的数据以BYTE*写进去
float buy =2.3f;
CTime m_StartTime2 = CTime::GetCurrentTime();
CString cStartTime = m_StartTime2.Format( "%Y%m%d%H%M%S" );
BYTE a10[100],a20[100];
我想把cStartTime的值赋给a10,应该怎么写?????
st=WJ1608Card_WriteBuy(3,buy,a10,a20);
------解决方案--------------------
int decstr2hexbyte( const char* str , BYTE * hexbyte)
{
int i, count;
int nRet = 0;
if ( str == NULL ) return nRet;
count = (int)strlen(str);
if (count == 0) return nRet;
char stmp[5] = {0};
strcpy(stmp,"0x");
for (i=0; i<count; i+=2, nRet++)
{
stmp[2] = str[i];
stmp[3] = str[i+1];
hexbyte[nRet] = strtol(stmp, NULL, 0);
}
return nRet;
}
这是DLL里的函数
WORD WJ1608Card_WriteBuy(int iVer,float dblWriteBuy,BYTE* _bWriteTime,BYTE*_bWriteCode)
我想调用这个函数,但不知道怎么把CString的数据以BYTE*写进去
float buy =2.3f;
CTime m_StartTime2 = CTime::GetCurrentTime();
CString cStartTime = m_StartTime2.Format( "%Y%m%d%H%M%S" );
BYTE a10[100],a20[100];
我想把cStartTime的值赋给a10,应该怎么写?????
st=WJ1608Card_WriteBuy(3,buy,a10,a20);
------解决方案--------------------
int decstr2hexbyte( const char* str , BYTE * hexbyte)
{
int i, count;
int nRet = 0;
if ( str == NULL ) return nRet;
count = (int)strlen(str);
if (count == 0) return nRet;
char stmp[5] = {0};
strcpy(stmp,"0x");
for (i=0; i<count; i+=2, nRet++)
{
stmp[2] = str[i];
stmp[3] = str[i+1];
hexbyte[nRet] = strtol(stmp, NULL, 0);
}
return nRet;
}