Мне интересно, как я могу скопировать буфер char*
в буфер обмена Windows и получить правильный / требуемый вывод, как показано ниже?
Пример:
У меня есть char*
буфер, в который я поместил это:
Text\nText text \ntext
Мы ожидаем, что когда мы скопируем его в буфер обмена и вставим в документ, он получится так:
Text
Text text
text
Но когда я пытаюсь скопировать и вставить его, результат выглядит так:
TextText text text
Итак, что я могу сделать, чтобы получить желаемый результат?
Вот функцияЯ использую:
void clipBoard(const char* output)
{
const size_t len = strlen(output) + 1;
HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, len);
memcpy(GlobalLock(hMem), output, len);
GlobalUnlock(hMem);
OpenClipboard(0);
EmptyClipboard();
SetClipboardData(CF_TEXT, hMem);
CloseClipboard();
}
Называя это так:
clipBoard(buffer);