许多人告诉我,有一种更好的方法来产生 X 毫秒的延迟。人们告诉我有关睡眠命令和usleep()的信息,但我无法完成这项工作。
当前我正在使用此
void delay(unsigned int mseconds) {
clock_t goal=mseconds+clock();
while(goal>clock());
}
然后这样做
delay(500);
printf("Hello there");
我可以让文本在半秒钟后出现,但是我想找到一种更好的方法来这样做,因为人们告诉我这是一种不好的方法,而且可能不太准确。
答案 0 :(得分:1)
我想通了一切!!!上帝我在第一次尝试使sleep()
命令有效时被甩了
#include<stdio.h>
#include<windows.h>
int main(){
int load;
int Loadwait=100
for(load=0;load<100;load+=5){
printf("Loading %d",load);
Sleep(Loadwait);
system("cls");
}
return 0;
}
答案 1 :(得分:0)
使用musl libc,您应该可以使用thrd_sleep()。
#include <threads.h>
#include <time.h>
#include <stdio.h>
int main(void)
{
printf("Time: %s", ctime(&(time_t){time(NULL)}));
thrd_sleep(&(struct timespec){.tv_sec=1}, NULL); // sleep 1 sec
printf("Time: %s", ctime(&(time_t){time(NULL)}));
}