Я работаю с кодом на C, который получает время от сервера, используя следующее:
(Это очень короткая версия, другие разделы и функции кода используют time, ftime ифункции локального времени, чтобы получить время).
struct tm *stiempo;
long ltiempo;
FILE * arch2;
int main()
{
print_error_time();
}
void print_error_time()
{
time (<iempo);
stiempo = localtime (<iempo);
fprintf (arch2, "%02.2ld/%02.2ld/%02.2ld, \t %02.2ld:%02.2ld:%02.2ld", stiempo->tm_mday, (stiempo->tm_mon + 1), (stiempo->tm_year + 1900), stiempo->tm_hour, stiempo->tm_min, stiempo->tm_sec);
}
Иногда это работает просто отлично, но иногда, когда время печатается в файле, я получаю что-то вроде этого:
21/08/2018, 15:48:7956003943165722682
21/08/2018, 15:50:7956003943165722667
21/08/2018, 15:51:7956003943165722649
Кто-нибудь знает, что может быть причиной такого поведения или что может повлиять на функции времени, которые заставляют их возвращать эти значения?