将wstring复制到剪贴板-特殊字符

时间:2019-06-21 12:39:46

标签: c++ winapi clipboard wstring

我有以下代码应该将wstring复制到剪贴板:

int main(){
wstring chars;
while(true){
getline(wcin,chars);
HGLOBAL hMem =  GlobalAlloc(GMEM_MOVEABLE, 2*(chars.length()+1));
wchar_t * Data;
Data = (wchar_t *)GlobalLock(hMem);
wcscpy(Data,chars.c_str());
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_UNICODETEXT,hMem);
CloseClipboard();
}
return 0;
}

一切正常,直到我尝试输入一些特殊字符为止。它们都变成了一些奇怪的字符(例如-ż变成了¾)。 为什么会发生这种情况,我该怎么办才能解决此问题?

0 个答案:

没有答案