C 是否有某种命令用于在程序中创建延迟

C 是否有某种命令用于在程序中创建延迟,c,delay,sleep,usleep,C,Delay,Sleep,Usleep,很多人告诉我,有一种更好的方法可以创建X毫秒的延迟。人们告诉我关于sleep命令和usleep(),但我没能做到 目前我使用的是: void delay(unsigned int mseconds) { clock_t goal=mseconds+clock(); while(goal>clock()); } 通过这样做 delay(500); printf("Hello there"); 我可以让文本在半秒钟后显示,但我想找到一种更好的方法,因为人们告诉我这是一种不好

很多人告诉我,有一种更好的方法可以创建X毫秒的延迟。人们告诉我关于sleep命令和usleep(),但我没能做到

目前我使用的是:

void delay(unsigned int mseconds) {
    clock_t goal=mseconds+clock();
    while(goal>clock());
}
通过这样做

delay(500);
printf("Hello there");
我可以让文本在半秒钟后显示,但我想找到一种更好的方法,因为人们告诉我这是一种不好的方法,而且可能不太准确。

使用你应该能够使用

#包括
#包括
#包括
内部主(空)
{
printf(“时间:%s”,ctime(&(时间){Time(空)});
thrd_sleep(&(struct timespec){.tv_sec=1},NULL);//睡眠1秒
printf(“时间:%s”,ctime(&(时间){Time(空)});
}

我把一切都弄明白了!!!天哪,当我第一次试图让
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;
}
#包括
#包括
int main(){
整数负载;
int Loadwait=100

对于(load=0;load您尝试使用sleep()和usleep()的哪种方式不起作用?您知道“忙等待”的含义吗?它比“不太准确”更准确地描述了您的方法导致的问题。暂停执行不是一种语言功能,但通常是一种操作系统原语。大多数C标准库都包含一个休眠函数,但精度和粒度历来都很差。如果您说明了为什么要暂停程序,这将改善您的问题。请在问题中引用编译器消息。不要忘记使用com请详细列出您的所有包含项。您可能还想说明您的环境;操作系统、编译器、版本,
线程。h
C11
中是可选的,很多人不支持它,因为POSIX有
pthreads
,Windows有
Windows.h
。至少使用
\u STDC\u NO\u threads\uu
来检查它是否可用。它是n确实是关于编译器,但它使用的是哪种
libc
。例如,在大多数Linuces上使用了glibc,不幸的是它不支持
threads.h
,但musl支持它。很遗憾,标准将其作为可选。使用clang 6.0.1/gcc 8.1.1和glib 2.27/musl 1.1.19进行测试
#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;
}