一个我解决不了的问题,请各高手帮忙了,谢谢!
jxk 2002-05-14 10:45:58 我的vc写的dll有这么一段代码
BSTR decryptstr(LPCTSTR instr,LPCTSTR key)
{
char keyi[9];
DES des;
int nLen=strleng((char*)instr);
int nNewLen = (nLen+6)/8*8;
strcpy(keyi,key);
char* lpBuf = (char*)malloc(nNewLen+1);
memset(lpBuf,'\0',nNewLen+1);
memcpy(lpBuf,instr,nLen);
des.decrypt (keyi,lpBuf,nNewLen/8);
lpBuf[nNewLen]='\0';
char* lp=new char[nNewLen+1];
memset(lp,'\0',nNewLen+1);
memcpy(lp,lpBuf,nNewLen);
return _T((BSTR)lp);
}
我在用vb调用的时候,用string来接收这个函数的返回值,然而这个返回值里有ascii大于127的字符,所以在vb里面,这样的字符都没有了,请问我该怎么解决这个问题?