使用标准函数 clock 模拟非标准函数 delay 。只是出于娱乐目的,没什么移植性,因为 clock() 不一定每次都能获取程序当前运行了多久,如果不能获取,则返回 -1 。
代码如下:
// C++ 版本
// 文件名:my_delay.cpp
// 功能:程序暂停一段时间(以毫秒计算)
// 作者:antigloss at http://cpp.ga-la.com
// prototype
inline void my_delay(unsigned long ms = 1000);
#include <ctime>
int main()
{
my_delay(5000);
return 0;
}
inline void my_delay(unsigned long ms)
{
double start_time = static_cast<double>( clock() ) / CLOCKS_PER_SEC * 1000;
while ( static_cast<double>( clock() ) / CLOCKS_PER_SEC * 1000 – start_time < ms ) ;
}
============================
/* C 版本
* 文件名:my_delay.c
* 作者:antigloss at http://cpp.ga-la.com
* 功能:程序暂停一段时间(以毫秒计算)
*/
/* C99 支持内联函数,如果您的编译器支持 C99,也可以把这个函数定义为内联函数 */
void my_delay(unsigned long ms);
#include <time.h>
int main(void)
{
my_delay(10000);
return 0;
}
void my_delay(unsigned long ms)
{
double start_time = (double)clock() / CLOCKS_PER_SEC * 1000;
while ( (double)clock() / CLOCKS_PER_SEC * 1000 – start_time < ms ) ;
}
>> 本文固定链接: http://www.vcgood.com/archives/1194