Spec-Zone.ru › C

timespec_getres

Определено в заголовке <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

См. также

timespec
(C11)
время в секундах и наносекундах
(структура)
timespec_get
(C11)
возвращает время календаря в секундах и наносекундах, основанное на заданной временной базе
(функция)
time
возвращает текущее календарное время системы как время с момента эпохи
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/chrono/timespec_getres

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API