[求助]怎样控制printf的打印速度呢?

benben7466 2006-07-21 11:50:38
以下程序我运行了,一下子就显示出来了
我想问问,我怎么能控制他的打印速度,使之可以让肉眼可以看到匀速出现?

----------------------------
#include <stdio.h>
#include <stdlib.h>
main(){
int i;
for(i = 0;i < 800;i++){
printf("*");
}
system("\npause");
}


...全文
307 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
like it
ckp 2006-07-21
  • 打赏
  • 举报
回复
void DelayTime(DWORD time)
{
DWORD BeginTime ,EndTime;
BeginTime=timeGetTime();//得到当前的系统时间、单位为微秒;
do {
EndTime=TimeGetTime();//再次得到当前的系统时间;
} while((EndTime-BeginTime) <time)//判断延迟时间是否已经结束;
}

MSDN的注释:
DWORD timeGetTime(VOID);
Parameters
This function does not take parameters.

Return Values
Returns the system time, in milliseconds.
chenhu_doc 2006-07-21
  • 打赏
  • 举报
回复
如果只是说能分辨,sleep(100) 也可以!

如果想在vc++里面通过:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
int i;
for(i = 0;i < 800;i++){
printf("*");
_sleep(100); //这个地方改一下!
}
system("pause");
return 0;

}
benben7466 2006-07-21
  • 打赏
  • 举报
回复
谢谢!问题搞定了

我在baidu 找,听说可以用delay(),
可使实验了,居然编译器出错。郁闷!

------------------------

#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
int main(){
int i;
for(i = 0;i < 800;i++){
printf("*");
delay(1000);
}
printf ("\n");
system("pause");
return 0;
}
littlefish1981 2006-07-21
  • 打赏
  • 举报
回复
void _sleep(unsigned long _Duration)

for(i = 0;i < 800;i++){
printf("*");
_sleep(1000); //暂停1秒
}
chenhu_doc 2006-07-21
  • 打赏
  • 举报
回复
file name: sleep.c
tool: devcpp
key function: sleep() defined in the time.h

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
int i;
for(i = 0;i < 800;i++){
printf("*");
sleep(1000);
}
system("pause");
return 0;

}
chenhu_doc 2006-07-21
  • 打赏
  • 举报
回复
在tc下面使用sleep()

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧