![如何将表示控制字符的字节从终端发送到应用程序?](https://linux22.com/image/121008/%E5%A6%82%E4%BD%95%E5%B0%86%E8%A1%A8%E7%A4%BA%E6%8E%A7%E5%88%B6%E5%AD%97%E7%AC%A6%E7%9A%84%E5%AD%97%E8%8A%82%E4%BB%8E%E7%BB%88%E7%AB%AF%E5%8F%91%E9%80%81%E5%88%B0%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我在 Linux 中创建了一个命令行应用程序,可以从stdin
(stdin
可以是终端)读取数据。
当我在终端上键入时Ctrl+C
,终端会将字节发送0x03
到线路规则。现在,它不是将字节发送0x03
到我的应用程序的线路规则,而是将其0x03
作为控制字符进行处理并将SIGINT
信号发送到我的应用程序。
有没有办法确保0x03
当我按下时字节被发送到我的应用程序Ctrl+C
(而不必像本中提到的那样更改线路规则设置)问题)。
答案1
按CtrlV(或lnext
线路规则上设置的任何内容)将强制按字面输入下一个按键。