Namespaces
Variants

timespec_getres

From cppreference.net
Определено в заголовочном файле <time.h>
int timespec_getres ( struct timespec * ts, int base ) ;
(начиная с C23)

Если ts не является нулевым указателем и base поддерживается функцией timespec_get , модифицирует * ts для хранения разрешения времени, предоставляемого функцией timespec_get для base . Для каждого поддерживаемого base множественные вызовы timespec_getres в течение одного выполнения программы дают идентичные результаты.

Содержание

Параметры

ts - указатель на объект типа struct timespec
base - TIME_UTC или другое ненулевое целочисленное значение, указывающее временную базу

Возвращаемое значение

Значение base если base поддерживается, иначе ноль.

Примечания

Функция POSIX clock_getres(clock_id, ts) также может использоваться для заполнения структуры timespec разрешением времени, идентифицируемого с помощью clock_id .

Пример

#include <stdio.h>
#include <time.h>
int main(void)
{
    char buff[128];
    struct timespec ts;
    const int res = timespec_getres(&ts, TIME_UTC);
    if (res == TIME_UTC) {
        struct tm timer;
        strftime(buff, sizeof buff, "%D %T", gmtime_r(&ts.tv_sec, &timer));
        printf("Time resolution info: %s.%09ld UTC\n", buff, ts.tv_nsec);
    } else {
        printf("TIME_UTC base is not supported.");
    }
}

Возможный вывод:

Time resolution info: 01/01/70 00:00:00.000000001 UTC

Смотрите также

время в секундах и наносекундах
(struct)
возвращает календарное время в секундах и наносекундах на основе заданной временной базы
(function)
возвращает текущее календарное время системы как время с начала эпохи
(function)