Comment detail

ミリ秒まで含んだ時刻文字列 (Nested Flatten)
WindowsAPIではGetLocalTime()関数を使うとミリ秒単位の時刻が取得できます。
ただし、クロックの分解能(精度)は15~16ミリ秒ほどのようです。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <stdio.h>
#include <windows.h>

int main(int argc, char **argv)
{
    SYSTEMTIME    st;
    GetLocalTime(&st);
    printf("%04d%02d%02d%02d%02d%02d.%03d\n",
        st.wYear, st.wMonth,  st.wDay,
        st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
    return 0;
}

>クロックの分解能(精度)は15~16ミリ秒ほどのようです。 タスクスイッチが15mSec前後で発生しておりGetSystemTime/GetLocalTimeまたGetTickCountもそのとき保持した時刻を更新することなく返すからそう見えるわけですね。 ループにして複数実行してみれば分解能15~16ミリ秒ほどと思えたところが保証されなくなることも見えるのでしょう。出題はミリ秒を得る方法を得たいのであってそれ以上のことは求めていないのでしょうけど。

Index

Feed

Other

Link

Pathtraq

loading...