Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。 在linux系统下开发, 你可能会遇到这样的情况,使用printf() 函数时,打印输出显示不像预料那样立马输出,也就是是输出不及时。导致这个问题的原因是,printf函数是行缓冲式的输出,当printf遇到"\n" 时,或者缓冲区满时,才会将缓冲区里的内容刷新到标准输出(stdout). 因此, printf("p"); 语句的显示不能立刻显示在屏幕上. 在此提供3个解决方法: 1.加上"\n",即: printf("p\n"); 或者 printf("p"); printf("\n"); 2.强制刷新缓冲区,缓冲区的数据会被输出到屏幕上,即: printf("p"); fflush(stdout); 3.把缓冲区大小设置为NULL,关闭缓冲区,即: setbuf(stdout, NULL); printf("p"); 并附上测试代码: #include #include int main() { printf("Hello, world!\n"); printf("ABC"); printf("DEF"); sleep(5); printf("GHI\n"); printf("JKL"); sleep(5); fflush(stdout); printf("MNO"); sleep(5); printf("PQR"); setbuf(stdout, NULL); printf("STU"); sleep(5); printf("VWX"); sleep(5); printf("END"); return 0; } 这里只是个人所见,如有错误,敬请指正。也希望各路大神指点一二,把更多的知识分享给大家。 Linux是一套免费使用和自由传播的类Unix操作系统 |
温馨提示:喜欢本站的话,请收藏一下本站!