我有以下代码应该将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;
}
一切正常,直到我尝试输入一些特殊字符为止。它们都变成了一些奇怪的字符(例如-ż变成了¾)。 为什么会发生这种情况,我该怎么办才能解决此问题?