关于CString,LPCTSTR,const CString的一个问题
我的代码是实现将文件内容经MD5加密后,将结果输入一个文本文件。
void example(LPCTSTR lpszData)//lpszData参数是文件完整地址
{
。。。
ofstream fout;
fout.open("test.txt");
CString m_strFileMD5;
CString aaa=lpszData;
m_strFileMD5 = CMD5Checksum::GetMD5(lpszData);
//如果改为 m_strFileMD5 = CMD5Checksum::GetMD5(“E:\\1.TXT”); 则可以成功在test.txt里看到结果
fout<<(LPCTSTR)m_strFileMD5;
fout.close();
}
我进行测试时,如果不加密,只是fout<<lpszData;可以在test.txt里看到完整路径,比如E:\\123.txt。但按上面的代码加密后输入到test里则什么都没有显示。我在想是不是参数的类型转换之类的有问题。其中GetMD5函数原型是CString CMD5Checksum::GetMD5(const CString& strFilePath) 。