在vc++6.0下面这个函数SetDlgItemText(IDC_EDIT_DIGEST,(char *)buf);运行不会报错的
但是在vs2005下面,SetDlgItemText(IDC_EDIT_DIGEST,(char *)buf);就要报错,
“CWnd::SetDlgItemTextW”: 不能将参数 2 从“char *”转换为“LPCTSTR”
我不知道如何,请高手帮忙,谢谢了
但是在vs2005下面,SetDlgItemText(IDC_EDIT_DIGEST,(char *)buf);就要报错,
“CWnd::SetDlgItemTextW”: 不能将参数 2 从“char *”转换为“LPCTSTR”
我不知道如何,请高手帮忙,谢谢了
它需要宽字符
用L((char *)buf)
他提示那个L找不到标识符
错误 18 error C3861: “L”: 找不到标识符 e:\lf\mycert\mycert\mycertdlg.cpp 505
不知道为什么
设置一下用多字符和unicode之间转换,vs2005里面的
应该会吧!
那样就通过了
CString temp;
temp=buf;
SetDlgItemText(IDC_EDIT_DIGEST,temp);谢谢了各位
temp=buf;
SetDlgItemText(IDC_EDIT_DIGEST,temp);
楼主遇到 UNICODE 问题了。
VC6中,工程默认是非 UNICODE 工程的;
而2005中,默认是 UNICODE 工程。
所以这个问题,最好的解决方法就是把 2005 的工程改为非 UNICODE 工程。但是,是时候学习 UNICODE 了,『Windows程序设计』第二章讲解了 UNICODE 。