当前位置:  开发笔记 > IOS > 正文

sleep()过早地拖延我的程序.我究竟做错了什么?

如何解决《sleep()过早地拖延我的程序.我究竟做错了什么?》经验,为你挑选了1个好方法。

我想写一个应该打印类似的小程序

测试CPU ...完成
测试RAM ...完成

等等.

我用C编写了以下程序:

printf( "testing RAM...\t\t" );
sleep( sleep_time );
printf( "done\n\n" );

printf( "testing HDD...\t\t" );
sleep( sleep_time );
printf( "done\n\n" );

哪里sleep_time是2.

然而,不是首先打印"测试CPU ...",然后等待,然后打印"完成",它首先等待,然后打印整行,这不是我想到的.

我想这与编译器的自动优化有关.
无论如何,我该怎么做才能获得所需的输出?

我在OSX 10.5.6上使用XCode 3.1

谢谢您,
巴斯蒂安



1> Johannes Sch..:

问题是您的打印是缓冲的.在睡觉前,请拨打fflush(stdout); 刷新缓冲区

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有