Наверняка кто-то сталкивался с проблемой конвертирования double в int, когда где-то в 10% случаев получается не целое положительное число (как должно быть), а отрицательное, притом большое.
Код: Выделить всё
int diff = ((int)difftime(t_of_sys, t_of_file))/60;
difftime возвращает double.
diff получается почти всегда правильно. Разница во времени у меня не больше 5 минут. Но иногда diff становится равным -2405 или еще больше.
Мне интересно - как лучше всего решить проблему. Наверняка есть чистое 100% правильное решение.
Благодарю за ответы.