Tam Sürümünü Görmek İçin : time c++
C++ da time.h kullanılarak saniye mertebesinde alınan ölçümler nasıl milisaniye gibi daha küçük bazlı yapılabilir?Timeval yada timespec ifadelerinden bahsediliyor ama yeterli bilgi bulamadım.
Neyse bazı cevaplar buldum.Aşağıda paylaşıyorum.
#include <ctime>
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
SYSTEMTIME time1,time2;
FILETIME f1,f2,f3;
ULARGE_INTEGER i1,i2,i3;
GetSystemTime(&time1);
::Sleep(100); //100 milisaniye uyusa.
GetSystemTime(&time2);
SystemTimeToFileTime(&time1,&f1);//filetime lara çevirelim.böylece değerlere
SystemTimeToFileTime(&time2,&f2);//ulaşabilelim.
double x=(f2.dwLowDateTime-f1.dwLowDateTime)/10000; //10000 ile milisaniye al.
i1.LowPart=f1.dwLowDateTime;
i1.HighPart=f1.dwHighDateTime;
i2.LowPart=f2.dwLowDateTime;
i2.HighPart=f2.dwHighDateTime;
i3.LowPart=i2.LowPart-i1.LowPart;
i3.HighPart=i2.HighPart-i1.HighPart;
f3.dwHighDateTime=i3.HighPart;
f3.dwLowDateTime=i3.LowPart;
return 0;
}
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.