中国最后一个太监2豆瓣:vs.net2005下字符串类型出问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 05:01:50
,找着教材试一个程序,出现问题:错误 error C2664: 'CWnd::SetDlgItemTextW' : cannot convert parameter 2 from 'char [20]' to 'LPCTSTR' e:\visual studio 2005\projects\vs.net范例入门与提高\tree\tree\treedlg.cpp 199
发现这个也是vs.net2005下普遍问题,
我编写列表框时也出现这样的问题
error C2664: 'CListBox::AddString' : cannot convert parameter 1 from 'char *' to 'LPCTSTR' e:\visual studio 2005\projects\vs.net范例入门与提高\shopping\shopping\shoppingdlg.cpp 236
求达人指点,急,谢谢!
char str[20];
CTreeCtrl *pTree=(CTreeCtrl*)GetDlgItem(IDC_TREE);
HTREEITEM pSelected=pNMTreeView->itemNew.hItem;
TVITEM item;
item.mask=TVIF_HANDLE|TVIF_TEXT;
item.hItem=pSelected;
item.cchTextMax=20;
VERIFY(pTree->GetItem(&item));
SetDlgItemText(IDC_SHOW, str);//这里出错了

VS2005工程默认环境是unicode,即LPCTSTR编译为wchar_t *类型,在工程设置里将unicode改掉就可以了(具体选项我记不清了,现在手头没有VS),修改后编译器将LPCTSTR解释为char *类型