std::timespec_getres
Определён в заголовочном файле <ctime> | ||
|---|---|---|
int timespec_getres( std::timespec *ts, int base ); | (начиная с C++26) |
Если ts не является нулевым указателем и base поддерживается std::timespec_get, функция изменяет *ts, чтобы оно содержало разрешение времени, предоставляемое std::timespec_get для base. Для каждого поддерживаемого base несколько вызовов std::timespec_getres в течение одного выполнения программы дают одинаковые результаты.
Параметры
| ts | - | указатель на объект типа std::timespec |
| base | - |
TIME_UTC или другое ненулевое целочисленное значение, указывающее временную базу |
Возвращаемое значение
Значение base, если base поддерживается, иначе ноль.
Примечания
Функцию POSIX clock_getres(clock_id, ts) также можно использовать, чтобы заполнить std::timespec разрешением времени, определяемым clock_id.
Пример
#include <cstdio>
#include <ctime>
int main()
{
char buff[128];
std::timespec ts;
if (const int res = std::timespec_getres(&ts, TIME_UTC); res == TIME_UTC)
{
std::tm timer;
std::strftime(buff, sizeof(buff), "%D %T", std::gmtime_r(&ts.tv_sec, &timer));
std::printf("Time resolution info: %s.%09ld UTC\n", buff, ts.tv_nsec);
}
else
std::printf("TIME_UTC base is not supported.");
}
Возможный вывод:
Time resolution info: 01/01/70 00:00:00.000000001 UTC
См. также
|
(C++17) | время в секундах и наносекундах (структура) |
|
(C++17) | возвращает календарное время в секундах и наносекундах относительно заданной временной базы (функция) |
| возвращает текущее системное время в виде времени, прошедшего с начала эпохи (функция) |
|
Документация по C для timespec_getres |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/c/timespec_getres