По некоторым причинам difftime возвращает только целые числа. Мой код довольно прост.
#include <time.h>
int main()
{
time_t test = time(NULL);
while (1)
{
std::cout << difftime(time(NULL), test) << std::endl;
}
}
Мой вывод выглядит
0...
1...
2...
3...
Разве difftime не должен возвращать дубли?
Функция time()
возвращается к ближайшей секунде и difftime()
просто возвращает разницу тех. Любое целое число минус целое число в целом является целым числом (но оно возвращается как двойное).
Кстати, для более точного таймера:
time_t test = clock();
while (1)
{
std::cout << float(clock() - test) / CLOCKS_PER_SEC << std::endl;
}
Это не имеет ничего общего с time () или difftime (). Это чисто Cout в C ++.
Посмотреть здесь: Как вывести двойное значение с полной точностью, используя cout?
int main()
{
time_t o_test, f_test;
time(&o_test);
while (1)
{
time(&f_test);
std::cout << difftime(f_test, o_test) << std::endl;
}
}