C: 如何知道当前输入是否有\b

标签 c input

您好,您如何知道输入字符串中是否有退格键 (\b)?因为据我所知,我只是将光标向后移动,擦掉写有\b 的最近的字符。我怎么知道那里有一个\b?交易

最佳答案

您可以使用strchr查找字符串中的任何字符。也就是说,您通常不会在输入中看到退格键,因为您的终端 (tty) 将处于“cooked”模式(而不是“raw”模式),这意味着内核将处理诸如行内退格之类的事情,直到您按回车键,然后整个(编辑后的)字符串将传递到您的程序。

像 shell 这样的程序将 tty 置于原始模式,这样它们就可以进行更广泛的编辑(通常是完整的 Emacs 或类似 vi 的编辑)。当您从 shell 启动程序(例如您自己的程序)时,它会首先将其恢复到熟模式。

关于C: 如何知道当前输入是否有\b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907077/

相关文章:

从 C 调用模块中的子例程

c - 在 C Pthread 中检测等待线程

c - 返回结构实例的函数

javascript - meteor 使用表单值插入记录

c++ - 自动输入我无法修改的二进制文件

jquery - 甜蜜的警报输入不专注于 jquery ui 模式

c - 在 C 中初始化 3D 全局数组

c - C语言如何将十六进制字符串转换为二进制字符串

css - 正确的标签/输入格式的好处

python - 同时使用 input() 和 print() (就像在聊天中一样)