代码:
//得到密文或原文
//bEncrypt:true 加密
//:false 解密
CString CTools::GetPriString(CString buf,bool bEncrypt)
{
buf = buf.Trim();//trim()除去字符串开始和结尾的空格 if(buf =="")
return "";
CString str,temp;
char c;
int k;
if(bEncrypt)//加密
{
for(int i =0;i< buf.GetLength();i++)
{
c = buf.GetAt(i);
k = c ^ 0xCC;
temp.Format("%d",k);
str += temp;
str += ",";
}
str = str.Mid(0,str.GetLength() - 1 );
}
else //解密
{
int pos = buf.Find(",");
while( pos != -1)
{
temp = buf.Mid(0,pos).Trim();
k = atol( temp ) ^ 0xCC;//atol()将字符串转换成长整型
c = (char)k;
str += c;
buf = buf.Mid( pos + 1);
pos = buf.Find(",");
}
temp = buf.Trim();
k = atol( temp ) ^ 0xBA;
c = (char)k;
str += c;
}
return str;
}
错误:error C2664: 'atol' : cannot convert parameter 1 from 'CString' to 'const char *'
error C2664: 'int ATL::CStringT<BaseType,StringTraits>::Find(wchar_t,int) throw() const' : cannot convert parameter 1 from 'const char [2]' to 'wchar_t'
注:红色部分出错
//得到密文或原文
//bEncrypt:true 加密
//:false 解密
CString CTools::GetPriString(CString buf,bool bEncrypt)
{
buf = buf.Trim();//trim()除去字符串开始和结尾的空格 if(buf =="")
return "";
CString str,temp;
char c;
int k;
if(bEncrypt)//加密
{
for(int i =0;i< buf.GetLength();i++)
{
c = buf.GetAt(i);
k = c ^ 0xCC;
temp.Format("%d",k);
str += temp;
str += ",";
}
str = str.Mid(0,str.GetLength() - 1 );
}
else //解密
{
int pos = buf.Find(",");
while( pos != -1)
{
temp = buf.Mid(0,pos).Trim();
k = atol( temp ) ^ 0xCC;//atol()将字符串转换成长整型
c = (char)k;
str += c;
buf = buf.Mid( pos + 1);
pos = buf.Find(",");
}
temp = buf.Trim();
k = atol( temp ) ^ 0xBA;
c = (char)k;
str += c;
}
return str;
}
错误:error C2664: 'atol' : cannot convert parameter 1 from 'CString' to 'const char *'
error C2664: 'int ATL::CStringT<BaseType,StringTraits>::Find(wchar_t,int) throw() const' : cannot convert parameter 1 from 'const char [2]' to 'wchar_t'
注:红色部分出错
解决方案 »
- 请问为什么IE加载不了ActiveX控件
- CSCOKET到底连接成功没啊
- 有关WinSocket程序的疑惑!!!???
- 怎么样用CFile文件对象创建一个二进制文件??
- 关于CFile和CFileDialog的综合问题
- 如何在Win2k下设定IP地址
- 产生随机数的问题?
- 如何在vc程序中备份还原sqlserver数据库???????[在线等待].
- BOOL MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE )?
- 在类似telnet的终端程序,能够操作读卡器之类的设备用的什么技术!(见正文)
- 高深问题,如何检测快捷键被哪个程序占用
- 连接ms sql server2000及2005的怪事
{
buf = buf.Trim();//trim()除去字符串开始和结尾的空格 if(buf =="")
return "";
CString str,temp;
char c;
int k;
if(bEncrypt)//加密
{
for(int i =0;i< buf.GetLength();i++)
{
c = buf.GetAt(i);
k = c ^ 0xCC;
temp.Format("%d",k);
str += temp;
str += ",";
}
str = str.Mid(0,str.GetLength() - 1 );
}
else //解密
{
int pos = buf.Find(",");
while( pos != -1)
{
temp = buf.Mid(0,pos).Trim();
k = atol( temp ) ^ 0xCC;//报错
c = (char)k;
str += c;
buf = buf.Mid( pos + 1);//报错
pos = buf.Find(",");
}
temp = buf.Trim();
// k = atol( temp ) ^ 0xBA;//报错
c = (char)k;
str += c;
}
return str;
}