У меня есть код, который записывал данные с устройства и был привязан к данным с системным временем в миллисекундах.Magically Undo fprintf format Ошибка
Я использовал uint64_t
хранить метку времени, которая была создана, как это:
struct timespec request;
clock_gettime(CLOCK_REALTIME, &request);
uint64_t stamp0 = (uint64_t)((uint64_t)request.tv_sec * 1000 + (uint64_t)request.tv_nsec/1000000);
Тогда я написал метку времени в файл (не думая, через), как это:
fprintf(ptr,"%ld\n",(long)stamp0);
Теперь у меня есть неправильные метки времени в моих файлах, которые выглядят как 1130802699
, но должны выглядеть как 1478599582064
.
Есть ли что-нибудь, что я могу сделать, чтобы исправить мою ошибку?
Спасибо, отметки времени не были точными совпадениями, поэтому я подозреваю, что вы правы. К счастью, это было только через час или около того, поэтому переключение не должно быть проблемой. Не могли бы вы объяснить мне, как вы пришли к значению '344', пожалуйста? – James
Спасибо, это действительно помогает, вы избавили меня от боли. – James