Namensräume
Varianten
Aktionen

timespec_getres

Von cppreference.com
< c‎ | chrono
Definiert in Header <time.h>
int timespec_getres( struct timespec *ts, int base );
(seit C23)

Wenn ts nicht-null ist und base von timespec_get unterstützt wird, wird *ts so modifiziert, dass es die Auflösung der von timespec_get für base bereitgestellten Zeit enthält. Für jede unterstützte base liefern mehrere Aufrufe von timespec_getres während derselben Programmausführung identische Ergebnisse.

Inhalt

[bearbeiten] Parameter

ts - Zeiger auf ein Objekt vom Typ struct timespec
base - TIME_UTC oder ein anderer ganzzahliger Wert ungleich Null, der die Zeitbasis angibt

[bearbeiten] Rückgabewert

Der Wert von base, wenn base unterstützt wird, andernfalls Null.

[bearbeiten] Hinweise

Die POSIX-Funktion clock_getres(clock_id, ts) kann ebenfalls verwendet werden, um eine timespec mit der Auflösung der von clock_id identifizierten Zeit zu füllen.

[bearbeiten] Beispiel

#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.");
    }
}

Mögliche Ausgabe

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

[bearbeiten] Siehe auch

Zeit in Sekunden und Nanosekunden
(Struktur)[bearbeiten]
gibt die Kalenderzeit in Sekunden und Nanosekunden basierend auf einer gegebenen Zeitbasis zurück
(Funktion) [bearbeiten]
gibt die aktuelle Kalenderzeit des Systems als Zeit seit der Epoche zurück
(Funktion) [bearbeiten]