printf 以及cout 输出到控制台时,有几率会阻塞进程。切换到控制台 敲回车 或者 按任意键后 信息才会输出到屏幕,代码继续往下执行。 有时 即使调用了fflush(stdout), 也依然会出现阻塞的情况。
在程序一开始调用 setvbuf(stdout, NULL, _IONBF, 0);【之前用 setbuf(stdout, NULL)】即不设置输出缓冲区,输出信息不存放在缓冲区中,而会直接输出至控制台。
测试了一下,阻塞概率减小,但还是会有。目前没有找到完全避免的方法,先这样用。