您好,您如何知道输入字符串中是否有退格键 (\b)?因为据我所知,我只是将光标向后移动,擦掉写有\b 的最近的字符。我怎么知道那里有一个\b?交易
最佳答案
您可以使用strchr
查找字符串中的任何字符。也就是说,您通常不会在输入中看到退格键,因为您的终端 (tty) 将处于“cooked”模式(而不是“raw”模式),这意味着内核将处理诸如行内退格之类的事情,直到您按回车键,然后整个(编辑后的)字符串将传递到您的程序。
像 shell 这样的程序将 tty 置于原始模式,这样它们就可以进行更广泛的编辑(通常是完整的 Emacs 或类似 vi 的编辑)。当您从 shell 启动程序(例如您自己的程序)时,它会首先将其恢复到熟模式。
关于C: 如何知道当前输入是否有\b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907077/