Linux C中标准输入输出及重定向

来源:互联网 发布:淘宝主图白底图要求 编辑:程序博客网 时间:2024/06/05 22:39

1.关于backspace

  getchar从标准输入的缓冲区读字符,backspace根本进不了缓冲区。所以应该使用无缓冲的读字符函数:getch(),包含在头文件<conio.h>中。

  确实用getchar是无法检测到的。在控制台中输入的\b用来修改输入的字符,并不送入到输入缓冲区中,如果想让此程序有结果,可以用文件来作为输入,文件中可包含\b的ascii码,就可以显示出\b了。当然是二进制的文件。可用文件重定向作为输入。或者改用其他的函数来读取输入的字符,不过标准C中未提供这样的函数,只有少数编译器提供了。

2.简单的解决办法

system("busybox stty erase ^h");