gpt4 book ai didi

c++ - SetConsoleMode 标志中 ENABLE_PROCESSED_INPUT 的含义

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:17 27 4
gpt4 key购买 nike

在Windows API 中,有SetConsoleMode 函数。在模式值中,我无法理解 ENABLE_PROCESSED_INPUT 值。MSDN 文档说

ENABLE_PROCESSED_INPUT:值 (0x0001): CTRL+C 由系统处理,不放入输入缓冲区。如果输入缓冲区正在被 ReadFileReadConsole 读取,其他控制键将由系统处理,不会在 ReadFile 中返回code>ReadConsole 缓冲区。如果还启用了 ENABLE_LINE_INPUT 模式,退格键、回车符和换行符将由系统处理。

这是否意味着设置此标志时,CTRL+C 不会放入输入缓冲区(因为它由系统处理)?还是其他方式(CTRL+C 放在输入缓冲区中)?这个解释让我很困惑。请问谁能给我解释一下吗?

最佳答案

这意味着如果设置了 ENABLE_PROCESSED_INPUT 标志,则 Ctrl+C 将不会被放入输入缓冲区(相反,系统将处理它并将 SIGINT 信号发送到在控制台中运行的进程。

同样的行为适用于 ENABLE_LINE_INPUT 标志:如果它被设置,像 backspacecarriage returnline feed 这样的字符 不放入输入缓冲区,由系统处理(从缓冲区中删除字符并自动处理行尾)。

关于c++ - SetConsoleMode 标志中 ENABLE_PROCESSED_INPUT 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391262/

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