w616291090 2016-11-18 05:44 采纳率: 20%
浏览 3785

C语言用setvbuf()设置缓冲区的问题

想设置一个无缓冲立即回显,代码如下:
#include
#include
int main(void){
char ch;
char buf[1024];
setvbuf(stdin,NULL,_IONBF,0);
setvbuf(stdout,NULL,_IONBF,0);
while((ch=getc(stdin))!='p'){
putc(ch,stdout);
}

return 0;

}
但是明明设置的是_IONBF在程序运行的时候依旧没有输入一个字符不按回车就立即回显,请问这是什么原因呢?谢谢了

  • 写回答

2条回答 默认 最新

  • jec365 2016-11-18 05:54
    关注

    char p[]={“a”,“b”,“c”};
    printf("%d",strlen(p));

    评论

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条