gpt4 book ai didi

C++,使用 Ctrl+C 携带存储语句的缓冲区

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:57 26 4
gpt4 key购买 nike

我想使用 c++ 制作一个简单的 windows32 控制台应用程序,它获取存储在 CTRL+C 缓冲区中的内容,并将其复制到字符数组或字符串中。

示例:我选择单词“Hello”,然后按 CTRL+C 然后程序将单词“Hello”(存储在缓冲区中)放入字符数组。

最佳答案

一个问题是 CTRL-C 不像大多数其他 CTRL-key 组合一样作为普通击键发送,那是因为 CTRL-Cbreak 信号,由控制台专门处理以向您的应用程序发送特殊的中断信号,如果您的应用程序不处理它,它将被终止。另一个问题是来自控制台的输入通常是基于行的,只有在用户按下换行符或 Enter 键后您才能获得输入。

第一个问题的可能解决方案是使用 SetConsoleCtrlHandler函数设置一个处理函数来捕获信号,并在处理函数中告诉应用程序 CTRL-C 已被按下。

这两个问题的解决方案是 change the console mode不处理 CTRL-C,并禁用基于行的输入。

另请注意,通常 CTRL-C 用于将所选内容复制到 剪贴板,而不是从剪贴板复制CTRL-V .


但是击键的处理只是问题的一小部分,因为您随后必须使用 the clipboard用于实际的复制粘贴。

关于C++,使用 Ctrl+C 携带存储语句的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com