我想写一个应该打印类似的小程序
测试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
谢谢您,
巴斯蒂安
问题是您的打印是缓冲的.在睡觉前,请拨打fflush(stdout); 刷新缓冲区