缓冲区与输入输出

关于缓冲区(buffer)

缓冲区里保留所有从键盘打入的键,包括空格空白键回车

当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在缓冲区中并且被当成一个字符来计算。

e.g. 我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。


一些函数

  • gets( ) 读一行字符串,包括前后中间的 空格,空白,....
  • scanf(“%d”,&k)和 scanf(“%d\n”,&k) 后者可以吃掉一个 Enter 键
  • getchar( ) 从缓冲区读走一个字符,相当于清除缓冲区
  • fflush(stdin); 清除输入缓冲区
    so you can do like this : scanf(…); fflush(stdin); or getchar( ) 再 gets( );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值