setvbuf给stdin设置无缓冲或者满缓冲,为什么最后效果都是行缓冲?

六道佩恩 六道佩恩 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最令我奇怪的是设置满缓冲的时候,假如我设置缓冲区长度10,那么如果我输入abcdefghijklmnopqrst,字符串还是正常接收,但是缓冲区的内容是\n\nmnopqrst,这我能推测出原因,总共输入abcdefghijklmnopqrst\n\n,缓冲区首先装了abcdefghij,满了,然后重新装klmnopqrst,满了,然后重新装\n\n,\n\n覆盖kl,所以是这个结果,可是,缓冲区都满了几次了,接收函数怎么没反应呢?
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
六道佩恩
C语言 70,040 成员 243,237 内容