C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス timespec_get

🔧 時間 ・ time.h ・ C11

timespec_get の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

int timespec_get(struct timespec *ts, int base);

どんな関数か

ナノ秒精度の時刻をstruct timespecへ取得する。timeより高精度な時刻取得が必要な場合に使う関数で、C11で追加され、ビット操作系のC23関数群としばしば併せて参照される。 第2引数のbaseには現状TIME_UTCのみが規格で定められており、将来の拡張に備えた設計になっている。

使用例

#include <time.h>
#include <stdio.h>
int main(void) {
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    printf("%lld.%09ld\n", (long long)ts.tv_sec, ts.tv_nsec);
    return 0;
}

つまずきやすい注意点

⚠️ 実際に得られる分解能(精度)はナノ秒単位を保証するものではなく処理系依存。ミリ秒程度の粒度しか無い環境もある。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

timespec_get と一緒に使う関数

time現在のカレンダー時刻をtime_t型(多くの処理系で1970年1月1日からの経過秒数)で取得する。引数にポインタを渡すと… clockプログラム開始からのCPU使用時間をclock_t型で取得する。実際の経過時間(壁時計時間)ではなくCPU時間である点に…

同じ分類(時間)の関数

clock difftime localtime mktime time

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る