主题:一小段代码,路过的帮忙看下
应该是关于Unicode的问题,这段代码实现把数据发到剪贴板的功能
我用的是VS2005的,孙鑫的视频教程是用VC6.0的,所以这些地方老是会出错,但又改不怎么来,请帮帮忙。(在创建MFC程序的时候有把Unicode勾上!)
[code=c]
void CClipboardDlg::OnBnClickedBtnSend()
{
if(OpenClipboard())
{
CString str;
HANDLE hClip;
char *pBuf;
EmptyClipboard();
GetDlgItemText(IDC_EDIT_SEND, str);
hClip = GlobalAlloc(GMEM_MOVEABLE, str.GetLength() + 1);
pBuf = (char*)GlobalLock(hClip);
strcpy(pBuf, str); //问题出现在这句
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT, hClip);
CloseClipboard();
}
}
[/code]
错误消息:“strcpy”: 不能将参数 2 从“CString”转换为“const char *”
我有通过格式强制转换通过编译,但粘贴到记事本上发现会出现乱码。
我用的是VS2005的,孙鑫的视频教程是用VC6.0的,所以这些地方老是会出错,但又改不怎么来,请帮帮忙。(在创建MFC程序的时候有把Unicode勾上!)
[code=c]
void CClipboardDlg::OnBnClickedBtnSend()
{
if(OpenClipboard())
{
CString str;
HANDLE hClip;
char *pBuf;
EmptyClipboard();
GetDlgItemText(IDC_EDIT_SEND, str);
hClip = GlobalAlloc(GMEM_MOVEABLE, str.GetLength() + 1);
pBuf = (char*)GlobalLock(hClip);
strcpy(pBuf, str); //问题出现在这句
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT, hClip);
CloseClipboard();
}
}
[/code]
错误消息:“strcpy”: 不能将参数 2 从“CString”转换为“const char *”
我有通过格式强制转换通过编译,但粘贴到记事本上发现会出现乱码。