Linux下的延迟函数sleep()

Linux下c语言中的延迟函数sleep()的用法

#include <stdio.h>

int main()
{
    printf("hello\n");

        sleep(1);  //延迟1秒

    printf("world\n");

    return 0;
}

windows下 sleep(1000) 代表延迟1秒,因为sleep的参数为毫秒,
而在Linux下 sleep的参数为秒,所以延迟1秒为 sleep(1)。

#include <stdio.h>

int main()
{
    printf("hello"); /*去掉转义字符'\n'*/

        sleep(1);

    printf("world\n");

    return 0;
}

这里写图片描述
1秒后
这里写图片描述
当我们去掉转义字符‘\n’,不再执行任何转义操作后,延迟函数sleep不再在语句间延迟,而是变成延迟整个程序。
借此我们来认识一下printf函数:
printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:
1 缓冲区填满。
2 写入的字符中有‘\n’ , ‘\r’。
3 调用fflush手动刷新缓冲区。
4 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新。

这里我们通过fflush()函数刷新缓存

include <stdio.h>

int main()
{
    printf("hello");
    fflush(stdout);   //强制刷新缓存,输出显示

        sleep(1);

    printf("world\n");

    return 0;
}

这里写图片描述
1秒后
这里写图片描述


版权声明:本文为nigulasi_dawei原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。