【发布时间】:2012-06-11 22:11:46
【问题描述】:
我的程序只需要从标准输入中读取一个字符,所以我使用read(0, buffer, 1)。
但是,如果用户插入多个字符,它们会保留在某个缓冲区中,当我再次调用 read 时,它们仍然存在。
那么,我怎样才能丢弃这些字符呢?
我希望当我再次调用 read 时,缓冲区中会填充新字符,而不是旧字符。
一个例子:
我有一个read(0, buffer, 1),用户写的是abcde。我的缓冲区包含 a (这是正确的),但是我再次调用 read(0, buffer, 1) 并且我想要用户从现在开始写入的下一个字符,而不是 b 之前写的。
【问题讨论】: