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
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.29.2.7 Функция timespec_getres (стр. 404)
См. также
|
(C11) | время в секундах и наносекундах (структура) |
|
(C11) | возвращает календарное время в секундах и наносекундах, отсчитываемое от заданной основы времени (функция) |
| возвращает текущее календарное время системы в виде времени, прошедшего с начала эпохи (функция) |
|
Документация по C++ для timespec_getres |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/chrono/timespec_getres