溫馨提示×

C語言nanosleep函數的用法是什么

小億
136
2023-11-28 20:29:55
欄目: 編程語言

C語言中的nanosleep函數用于將程序的執行暫停一段指定的時間。

nanosleep函數的原型如下:

int nanosleep(const struct timespec *req, struct timespec *rem);

參數說明:

  • req:指定程序要暫停的時間,以秒和納秒為單位。它是一個timespec結構體,包含以下兩個成員:
    • tv_sec:指定要暫停的秒數。
    • tv_nsec:指定要暫停的納秒數。
  • rem:如果函數在指定的時間內被信號中斷,則會將剩余的時間存儲在rem中。它也是一個timespec結構體。

函數返回值:

  • 如果函數成功完成,則返回0。
  • 如果函數被信號中斷,則返回-1,并把剩余的時間存儲在rem中。

nanosleep函數使用示例:

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

int main() {
    struct timespec req, rem;

    req.tv_sec = 2; // 暫停2秒
    req.tv_nsec = 0;

    if (nanosleep(&req, &rem) == -1) {
        printf("nanosleep failed\n");
        return 1;
    }

    printf("Sleep complete\n");
    return 0;
}

上述示例中,程序將會暫停2秒鐘。如果nanosleep函數被信號中斷,將會打印"nanosleep failed",否則打印"Sleep complete"。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女