在用C打印新行之前,是否可以等待几秒钟?

在用C打印新行之前,是否可以等待几秒钟?,c,time,line,C,Time,Line,例如,我可以把它做成这样的类型吗 "Hello" "This" "Is" "A" "Test" 每一行之间间隔1秒 谢谢,您可以查看哪些线程会在指定的秒数内挂起。如果sleep()函数能做到这一点,那么有几种方法可以使用它 在linux上: #include <stdio.h> #include <unistd.h> // notice this! you need it! int main(){ printf("Hello,"); sleep(5);

例如,我可以把它做成这样的类型吗

"Hello"
"This"
"Is"
"A"
"Test"
每一行之间间隔1秒

谢谢,

您可以查看哪些线程会在指定的秒数内挂起。

如果
sleep()
函数能做到这一点,那么有几种方法可以使用它

在linux上:

#include <stdio.h>
#include <unistd.h> // notice this! you need it!

int main(){
    printf("Hello,");
    sleep(5); // format is sleep(x); where x is # of seconds.
    printf("World");
    return 0;
}
#包括
#请注意这一点!你需要它!
int main(){
printf(“你好,”);
sleep(5);//格式是sleep(x);其中x是秒的#。
printf(“世界”);
返回0;
}
在windows上,您可以使用dos.h或windows.h,如下所示:

#include <stdio.h>
#include <windows.h> // notice this! you need it! (windows)

int main(){
    printf("Hello,");
    Sleep(5); // format is Sleep(x); where x is # of milliseconds.
    printf("World");
    return 0;
}
#包括
#请注意这一点!你需要它!(窗口)
int main(){
printf(“你好,”);
Sleep(5);//格式为Sleep(x);其中x为#毫秒。
printf(“世界”);
返回0;
}
或者您可以使用dos.h进行linux风格的睡眠,如下所示:

#include <stdio.h>
#include <dos.h> // notice this! you need it! (windows)

int main(){
    printf("Hello,");
    sleep(5); // format is sleep(x); where x is # of seconds.
    printf("World");
    return 0;
}
#包括
#请注意这一点!你需要它!(窗口)
int main(){
printf(“你好,”);
sleep(5);//格式是sleep(x);其中x是秒的#。
printf(“世界”);
返回0;
}

这就是你在windows和linux上用C睡觉的方式!对于windows,这两种方法都应该有效。只需将#秒的参数更改为所需,并在需要暂停的地方插入,就像我在printf之后所做的那样。另外,请注意:当使用windows.h时,请记住sleep中的大写字母
S
,以及它的毫秒!(感谢Chris指出这一点)

有些东西没有sleep()那么优雅,但使用了标准库:

/* data declaration */
time_t start, end;

/* ... */

/* wait 2.5 seconds */
time(&start);
do time(&end); while(difftime(end, start) <= 2.5);
/*数据声明*/
开始、结束的时间;
/* ... */
/*等待2.5秒*/
时间(&开始);
执行时间(&end);while(difftime(end,start)适用于所有操作系统

int main()
{
char* sent[5] ={"Hello ", "this ", "is ", "a ", "test."};
int i =0;
while( i < 5 )
{
printf("%s", sent[i] );
int c =0, i++;
while( c++ < 1000000 ); // you can use sleep but for this you dont need #import
} 
return 0;
}
intmain()
{
char*sent[5]={“你好”、“这”、“是”、“a”、“测试”};
int i=0;
而(i<5)
{
printf(“%s”,已发送[i]);
int c=0,i++;
(C+++1000000);//你可以使用睡眠,但是对于这个,你不需要输入。
} 
返回0;
}

我什么都没试过,我是C新手,所以我不知道我可以使用的所有命令…我只是想知道是否有命令在做其他事情之前等待一段时间。我也想提醒其他可能偶然发现此线程的人,记住利用Sleep()!!!!这是一个非常糟糕的做法。你的循环只是不必要地浪费处理器周期。为什么你应该反对使用
#import
作为标准睡眠函数?最坏的情况是你需要#ifdef来覆盖多个平台。如果你说这是一个糟糕的做法,这只是一个选项,所以如果你不明白为什么,我会白白浪费我的十年时间这是一个坏主意,那么你现在就应该了解原因了。投票表决晚了,但这个解决方案还假设while循环的一百万个周期需要一秒钟。因此,尽管这个解决方案可以在任何带有C编译器的操作系统(不是所有操作系统)上工作,但它不能跨架构移植。
sleep()
difftime()
两者都考虑在内。另外,对于标准库函数,您不喜欢包含
sys/wait.h
unistd.h
time.h
string.h
,但对于
printf(…)包含
stdio.h
,这是非常奇怪的
。你的建议也不必要地浪费处理器周期。sleep()或某种变体是正确的答案。哦,你是对的。它不优雅(正如我已经说过的)。它只是便携的。但浪费处理器周期不仅仅是副作用。实际上,这是代码背后的主要思想,是它工作的原因,就像你可能说的那样笨拙。:-)