linux命令行默认是行缓冲的。意思是当我们程序printf输出的时候,linux不会一个字一个字的输出我们的任务,而是将他们缓冲起来放在缓冲区,等一行准备完了再一次性把一行全部输出来(因为效率)
linux判断这一行有没有完的依据是换行符‘\n’(windows 是‘\r\n’,ios是\r)。也就是说你printf再多,只要没有遇到\n(或者程序终止,或者缓冲区满 )都不会输出(在缓冲区)。
采取措施:
使用printf时候必须加\n
linux命令行默认是行缓冲的。意思是当我们程序printf输出的时候,linux不会一个字一个字的输出我们的任务,而是将他们缓冲起来放在缓冲区,等一行准备完了再一次性把一行全部输出来(因为效率)
linux判断这一行有没有完的依据是换行符‘\n’(windows 是‘\r\n’,ios是\r)。也就是说你printf再多,只要没有遇到\n(或者程序终止,或者缓冲区满 )都不会输出(在缓冲区)。
采取措施:
使用printf时候必须加\n