【发布时间】:2013-11-30 17:18:48
【问题描述】:
我通过 fgets 从终端读取,缓冲区大小为 80 字节。但是当我在终端中写很长的行(超过limits.h中的MAX_INPUT常数)时,终端会响起BEL声音(IMAXBEL已启用)。如何在终端中输入这么长的行?我不能强迫用户输入特殊符号。我只能重写程序。
我尝试使用#undef MAX_INPUT - 这不起作用。 如果我禁用 IMAXBEL,那么终端只会在输入的 MAX_INPUT 字节之后清除输入队列,并将输入的下一个字节保存在队列的开头...并一直执行此操作直到用户输入结束。
【问题讨论】: